最近差点儿被一个工程逼疯,一点儿点儿的挑错,最后总算成功了,和大家分享一下心得
2013年,高性能计算的顶会,发辫了这样的一篇论文《Medusa: Simplified Graph Processing on GPUs》,这是一项很有意思的工作。作者提出了一个基于gpu的图计算框架,这个框架参考了bsp的设计模型,在gpu上实现了图的迭代计算,大大简化了开发者在gpu上开发图处理的应用程序。
笔者从code.google.com上拿到了作者的源码,如何构建工程,作者写的很明白
How to build:
The application code is compiled with the Medusa runtime code. To compile, rename the
application folder to "Algorithm" and run "make" in the application folder.
Before make, change the "CUDA_SDK_PATH" and "CUDPP_PATH" in the make file.
但是,但是。。。
cuda sdk作者用的是4.2的版本,笔者ubuntu14.04上装的是cuda7.0.没事儿,淡定,换个编译环境不就行了?于是乎,我到nvidia官网上找到4,2的版本,这才发现,当时的linux平台,最多支持到ubuntu11.04,我去,难道要换低版本的ubuntu系统?网上百度之,貌似高版本的ubuntu系统也支持,果断安装cuda4.2的toolkit和sdk。(如何安装参考我其他帖子)
去网上下的cudpp(CUDPP一种强大的数据并行CUDA库,貌似现在用的已经不多,版本最高支持到cudpp2.2,笔者只能用cudpp2.0,具体原因,因为medusa作者引用这个版本),把路径设置好之后,编译
/usr/bin/ld cannot find -lcuddp
提示无法识别cudpp的一系列函数,于是我搜了cudpp。好吧,原来是个第三方库.
噩梦从这是开始!