Как избежать ошибок при компиляции заголовков cuSP - PullRequest
0 голосов
/ 26 апреля 2019

Я пытался запустить простой тест с использованием cuSP (загрузка из файла Matrix Market), однако вот что я получаю

/usr/include/thrust/system/cuda/detail/execute_on_stream.h(45): error: namespace "thrust::system::cuda::detail" has no member class "execution_policy"

/usr/include/thrust/system/cuda/detail/execute_on_stream.h(45): error: not a class or struct name

/usr/include/thrust/system/cuda/detail/execute_on_stream.h(45): error: class or struct definition is missing

/usr/include/thrust/system/cuda/detail/execute_on_stream.h(91): error: incomplete type is not allowed

/usr/include/thrust/system/cuda/detail/execute_on_stream.h(98): error: "super_t" is not a nonstatic data member or base class of class "thrust::system::cuda::detail::execute_on_stream"

5 errors detected in the compilation of "/tmp/tmpxft_00003c21_00000000-8_test.cpp1.ii".

Минимальный пример:

#include <cusp/io/matrix_market.h>
int main(int argc, char *argv[])
{   
    return 0;
}

Компиляция:

NVCC= /usr/local/cuda-9.1/bin/nvcc test.cu -I/usr/local/cuda-9.1/include/cusplibrary-0.5.0 -L/usr/local/cuda/lib64 -lcudart -lcuda

Тяга версия 1.9, cuda версия 9.1 cuSP версия 0.5 (протестировано с 0.4, та же проблема) Другие части cuSP (и толкают столько, сколько я могу сказать) работают нормально. Есть ли способ решить эту проблему (или что я делаю не так)? Или, по крайней мере, есть простой способ загрузить матрицу из предварительно загруженной плотной матрицы в cuSP в качестве обходного пути?

Редактировать: Другие заголовки (например, cusp / csr_matrix.h), похоже, тоже вызывают те же ошибки.

...