浅谈Scalable inference for Correlated Topic Models(ScaCTM)编译过程

注:本文用于记录本人编译ScaCTM过程中,出现的错误及解决方案。本人研一小硕,技术较渣,正在向一名合格程序员做转变,所以技术大牛如果看到这些问题是低级错误的话还望海涵,包容一下小弟学识浅显。

ScaCTM是清华大学朱军老师带领学生所开发的并发topic model系统。

系统code地址:https://github.com/cjf00000/ScaCTM

在安装第三方库的时候,有些被墙了,所以用的离线安装,https://github.com/cjf00000/ScaCTM/issues/1

OS:ubuntu14.04

编译器准备:gcc 4.8,g++4.8,gfortran

1)make third_party过程中出现下图所示错误,经试验求证,最初缺少gfortran编译器,或修改third_party/third_party.mk文件的第304行,将它改为

./configure --disable-f77 --disable-fc --prefix=$(THIRD_PARTY); \



2)make third_party中还会遇到下图所示错误:


向上查找最终错误来源是:

./boost/atomic/atomic.hpp:202:16: error: ‘uintptr_t’ was not declared in this scope
./boost/atomic/atomic.hpp:202:25: error: template argument 1 is invalid
./boost/atomic/atomic.hpp:202:43: error: invalid type in declaration before ‘;’ token

uintptr_t表示64位整数(在64位机器上),而本机编译器不支持。到http://sourceforge.net/projects/boost/files/boost/1.59.0/下载一个最新的boost并替换boost_1_54_0.tar.bz2,同时修改third_party.make中boost编译版本号就可以了。至此,third_payty  make过程基本上通过。

最终结果如下图所示:


至此看到上如所示make结果,third_ party   编译过程应该已经完成了。


3)此时make src主程序。

首先make时会曝出语法错误,如图所示:


解决方案:在Unigram_Train_Data_Formatter.cc及Unigram_Test_Data_formatter.cc中增加include <iostream>此错误可以避免,至此编译可以通过,结果如下图所示:


整个系统编译过程完成,系统使用将在下次博文中进行介绍。

linux小渣,很多低级错误不知道什么原因,非常感谢HZ、BW的帮助。

实时系统是指在严格的时间限制下,对输入数据进行处理并及时产生输出响应的系统。在实时系统中,一个重要的因素是系统的架构设计,而对于实时系统的架构设计来说,一个关键的考虑因素是其鲁棒性和可扩展性。 所谓鲁棒性,是指系统能够应对各种异常情况和外部干扰而保持正常工作的能力。在实时系统中,鲁棒的架构可以通过多种方式实现,例如使用冗余设计和错误处理机制。冗余设计可以通过多个处理器或模块的冗余部署来提高系统的容错能力,以便在一个处理器或模块发生故障时,系统依然能够正常工作。而错误处理机制可以包括错误检测和错误恢复两个方面,以保证系统对错误的及时发现和恢复能力。 可扩展性是指系统能够根据实际需求进行灵活的扩展和升级的能力。对于实时系统来说,可扩展的架构可以基于不同的需求进行模块的添加或替换,以满足不同规模和性能要求的系统。例如,当实时系统的负载增加时,可以通过增加处理器数量或增加存储容量来扩展系统的性能。 对于实时系统的架构设计,一个常用的方法是采用分布式架构。在分布式架构中,系统的不同功能模块可以分布在不同的节点上,通过通信和协作来完成任务。这种设计能够充分利用分布式计算和通信的特点,提高系统的并行度和可靠性。 综上所述,Robust scalable architecture for real-time systems(实时系统的强韧可扩展架构)PDF提供了一种鲁棒性和可扩展性的实时系统架构设计方案。该架构通过冗余设计和错误处理机制实现系统的鲁棒性,同时采用分布式架构实现系统的可扩展性。这样的架构设计能够有效应对实时系统中的异常情况和外部干扰,并能够根据实际需求灵活扩展系统的性能和规模。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值