Dear Mark,
the error message comes for a library (thrust) that we use for our CUDA development. It is a high level library with an API that mimics the STL, and allows us to write relatively high level code and leave it to thrust to generate the GPU code/commands. Your error message implies that code has been generated that requires some functionality that isn’t available on your hardware.
BUT, that is clearly not true since you have a quite new GPU. I can only assume that there is some bug in the thrust library that causes this. Here is an email from one of the thrust developers that seems to imply that at some stage there was such a bug (https://github.com/thrust/thrust/issues/837).
I am afraid that there is very little we can do about this. What I would recommend you to try, is to use one of the other binaries (built for a different version of the nvcc complier) and see if that works for your setup. Note that you can have multiple versions of nvcc/CUDA on the same machine.
Jesper
> On 15 Dec 2016, at 00:09, Mark Pinsk <[log in to unmask]> wrote:
>
> Hi Jesper etal
>
> Trying to run eddy_cuda7.5 on Ubuntu 16.04 LTS 64-bit. I successfully installed and verified that I have Cuda 7.5 installed.
>
> nvcc -V
> nvcc: NVIDIA (R) Cuda compiler driver
> Copyright (c) 2005-2015 NVIDIA Corporation
> Built on Tue_Aug_11_14:27:32_CDT_2015
> Cuda compilation tools, release 7.5, V7.5.17
>
> When I run eddy_cuda7.5, I get this :
> Reading images
> Filling empty planes
> Performing volume-to-volume registration
> Running Register
> Entering EddyGpuUtils::LoadPredictionMaker
>
> ...................Allocated GPU # 0...................
> thrust::system_error thrown in CudaVolume::common_assignment_from_newimage_vol after resize() with message: function_attributes(): after cudaFuncGetAttributes: invalid device function
> terminate called after throwing an instance of 'thrust::system::system_error'
> what(): function_attributes(): after cudaFuncGetAttributes: invalid device function
>
> My eddy command is:
> eddy_cuda7.5 \
> --imain=data_input.nii.gz \
> --mask=nodif_brain_mask.nii.gz \
> --acqp=acqparams.txt \
> --index=index.txt \
> --bvecs=eddy_bvec.bvec \
> --bvals=eddy_bval.bval \
> --topup=topup_output \
> --out=eddy_output \
> --fep \
> --resamp=lsr \
> --verbose
>
> Any ideas? I believe eddy_cuda is compiled on CentOS, so I wonder if that's the issue?
|