Totem

参考:

运行环境:

1. TBB(Intel Threading Building Blocks):

On ubuntu, it can be installed via apt-get as follows: “sudo apt-get install libtbb-dev

2. GTEST (Google C++ Testing Framework):

  • 安装到路径:/usr/src/

    sudo apt-get install libgtest-dev

  • 由CMakeLists.txt生成Makefile文件(没有cmake请先安装)
    sudo cmake .

(或者cmake CMakeLists.txt
在这里插入图片描述

  • 执行以下命令,生成两个静态库:libgtest.a 和 libgtest_main.a
    sudo make

在这里插入图片描述

  • 将静态库拷贝到系统目录:
    sudo cp libgtest*.a /usr/local/lib

  • 环境变量:
    export GTEST=/usr/src/gtest/

编译报错及改正:

1、…/totem/totem_comkernel.cuh(163): error: function “atomicAdd(double *, double)” has already been defined

CUDA版本导致。cuda 8.0 提供了对atomicAdd的定义,但atomicAdd在之前的cuda toolkit中并未出现,因此一些程序自定义了atomicAdd函数。

#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600 //CUDA 8.0 has defined it
#else
inline __device__ double atomicAdd(double* address, double val) {
  unsigned long long int* address_as_ull = (unsigned long long int*)address;
  unsigned long long int old = *address_as_ull, assumed;
  do {
    assumed = old;
    old = atomicCAS(address_as_ull, assumed,
                    __double_as_longlong(val + __longlong_as_double(assumed)));
  } while (assumed != old);
  return __longlong_as_double(old);
}
#endif

2、error: for statement expected before ‘}’ token
for (vid_t v = 0; v < graph->vertex_count; v++) {
在这里插入图片描述

运行

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值