trentool / TRENTOOL3

Open-Source MATLAB toolbox for transfer entropy estimation
http://trentool.github.io/TRENTOOL3/
GNU General Public License v3.0
56 stars 26 forks source link

Error detected in the GPU (check console) #36

Closed Xirailuyo closed 3 years ago

Xirailuyo commented 3 years ago

Hello, I am attempting to run the ensemble method utilizing gpu. I am running into the following error:

Error using fnearneigh_gpu Error detected in the GPU (check console)

Error in TEcallGPUsearch (line 313) [~, distance_p21] = fnearneigh_gpu(single(pointset_p21),single(pointset_p21),k_th,TheilerT,nchunks);

Error in TEsurrogatestats_ensemble (line 874) [ncount] = TEcallGPUsearch(cfg,channelpair,pointsets_concat_1,pointsets_concat_2, ...

Error in TEfindDelay (line 57) TGA_results{uu}=TEsurrogatestats_ensemble(cfgTESS,data);

Error in InteractionDelayReconstruction_calculate (line 115) [dataprep, TEmat] = TEfindDelay(predicttimevec_u,cfgTESS,dataprep);

Error in example_script_ensemblemethod (line 74) TGA_results = InteractionDelayReconstruction_calculate(cfgTEP,cfgTESS,data);

I am running ubuntu 16.04, with cuda 8.0, and kernel 4.4. It seems that changes to the files listed don't change the resulting errors, even if those error messages are specifically changed. This is true even if I rerun the install file. I am not sure as how to proceed, especially as my data is nonlinear and requires the gpu method.

pwollstadt commented 3 years ago

Hi @Xirailuyo, this error may very likely be due to the GPU code being compiled for older cards and CUDA versions. However, also the CPU estimator may be used for non-linear data. The GPU method is just necessary if you want to make use of the ensemble method for estimation (see Wollstadt, 2014, PLOS ONE). If you want to use ensemble estimation, you can move your analysis to the IDTxl python package that is actively maintained and allows to use the ensemble method on CPU and GPU (supporting newer hardware). I will close this issue, sorry about that.