2017-08-14 67 views
0

如何在如何编译CUDA牛顿模板元编程示例程序

Evaluating expressions consisting of elementwise matrix operations in Thrust

仅供参考编译样本CUDA牛顿元编程程序,牛顿是在这里:https://github.com/jaredhoberock/newton

这里开始我的输出:

nvcc -I. -I/local/cuda/include test_newton.cu 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
./newton/detail/range/range_traits.hpp(171): error: expected a ">" 

./newton/detail/range/range_traits.hpp(177): warning: parsing restarts here after previous syntax error 

./newton/detail/range/range_traits.hpp(171): error: mismatched delimiters in default argument expression 

./newton/detail/range/range_traits.hpp(177): error: expected a "," or ">" 

./newton/detail/range/range_traits.hpp(177): error: expected a "," or ">" 

./newton/detail/range/range_traits.hpp(177): error: expected a declaration 

./newton/detail/arithmetic.hpp(35): error: namespace "newton::detail" has no member "lazy_enable_if_at_least_one_is_range" 

./newton/detail/arithmetic.hpp(36): error: namespace "newton::detail" has no member "lazy_enable_if_at_least_one_is_range" 

./newton/detail/arithmetic.hpp(37): error: namespace "newton::detail" has no member "lazy_enable_if_at_least_one_is_range" 

这是我的NVCC:

nvcc -V           
nvcc: NVIDIA (R) Cuda compiler driver 
Copyright (c) 2005-2016 NVIDIA Corporation 
Built on Tue_Jan_10_13:22:03_CST_2017 
Cuda compilation tools, release 8.0, V8.0.61 

最后,由于牛顿在两年内没有变化,我甚至应该尝试使用它吗?我喜欢它试图做的事情。

帮助?谢谢。

回答

0

我通过将模板中的>>分隔为>来编译它。显然C++的某些版本允许>>但其他版本不允许。

这引发了其他问题,我将单独发布。