R CMD проверка предупреждения с файлами CUDA * .cu

Я строю крошечный пакет R который использует Rcpp и CUDA. Это учебное упражнение, которое поможет мне создать более крупный пакет для отправки в Bioconductor. Пакет устанавливается и прекрасно работает на компьютере с Linux, который я описал в эта почта. Тем не менее, когда я бегу R CMD check на тарболе я получаю предупреждение.

$ R CMD check rcppcuda_0.0.tar.gz
* using log directory ‘/home/landau/rcppcuda.Rcheck’
* using R version 3.2.0 (2015-04-16)
* using platform: x86_64-unknown-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file ‘rcppcuda/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘rcppcuda’ version ‘0.0’
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... WARNING
Subdirectory ‘src’ contains:
someCUDAcode.cu
These are unlikely file names for src files.
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package ‘rcppcuda’ can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking line endings in C/C++/Fortran sources/headers ... OK
* checking line endings in Makefiles ... OK
* checking compilation flags in Makevars ... OK
* checking for GNU extensions in Makefiles ... OK
* checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK
* checking compiled code ... OK
* checking examples ... NONE
* checking PDF version of manual ... OK
* DONE

Status: 1 WARNING
See
‘/home/landau/rcppcuda.Rcheck/00check.log’
for details.

$

Это предупреждение, также присутствующее в более крупном пакете, который я создаю, не позволяет мне отправляться в Bioconductor. Предупреждения в R CMD check автоматически дисквалифицировать меня. К сожалению, nvcc требует .cu расширение для каждого файла CUDA, поэтому я не могу переименовать *.cu в *.c или же *.cpp, Кто-нибудь знает, как сказать R, что *.cu файлы являются законными исходными файлами?

2

Решение

Хотя поведение nvcc по умолчанию заключается в автоматическом выводе языка из расширения имени файла (так что ожидается, что код CUDA будет содержаться в .cu расширение файла), это не является обязательным требованием. nvcc поддерживает -x флаг, чтобы вручную установить язык для данного модуля компиляции, чтобы вы могли использовать pass -x cu в исходный файл, содержащий код CUDA с .cpp расширение и компиляция будут работать правильно.

Является ли это целесообразным с точки зрения ремонтопригодности — это решение, которое вам придется принять. Но это должно решить вашу непосредственную проблему.

3

Другие решения