Forum

Welcome Guest 

Show/Hide Header

Welcome Guest, posting in this forum requires registration.





Pages: [1]
Author Topic: wrong computations on GPU for N>192?
lukas.zuba-
l@gmail.co-
m
Newbie
Posts: 3
Permalink
Post wrong computations on GPU for N>192?
on: May 7, 2013, 05:47
Quote

Hi,
i worked several weeks with et_project et_backproject using matlab with normal volume sizes(N = 192 )without problems. I decided to move to higher resolutions, but wrong results returned when N increased to 256 using ET_DEMO_MLEM.
Are you normally able to work with N>192?

here is my results for CPU(left) and GPU(right).
CPU parameters:
N = 256;
N_cameras = 120;
cameras = linspace(0,2*pi,N_cameras)';
psf = ones(5,5,N);
N_counts = 50e6;

iter_mlem = 2;
GPU = 0;

phantom_type = 1; % 0 for 'brain FDG PET'; 1 for 'sphere in uniform background'

GPU parameters:
N = 256;
N_cameras = 120;
cameras = linspace(0,2*pi,N_cameras)';
psf = ones(5,5,N);
N_counts = 50e6;

iter_mlem = 2;
GPU = 0;

phantom_type = 1; % 0 for 'brain FDG PET'; 1 for 'sphere in uniform background'

I build my own niftyrec(msvc2008, matlab 64bit, cuda 4.1.28). There was linking problem with m.lib so i removed this file from additional dependencies.
I changed my video card from old GF 8800GT 512MB to GF 670 4GB. Am afraid that is possible, that old drivers wasn't uninstalled perfectly. I used standard nvidia uninstall to remove old drivers before changing a card and installed new drivers after rebooting with new card.
Image

spedemon
Administrator
Posts: 22
Permalink
Post Re: wrong computations on GPU for N>192?
on: May 7, 2013, 06:52
Quote

Hi Lukas,
We have used et_project and et_backproject with volumes of size 256 cube before and indeed it does not work with some cards. There seems to be an issue related to the different computing capabilities. Unfortunately I am not able to tell which cards work and which ones do not nor to replicate the problem. I will post here when I find a solution. Have you tried to reduce the size of the volume using a non cubic volume, e.g. 256x192x256 ?
Thank you for spotting the problem and reporting detailed information.
Stefano

lukas.zuba-
l@gmail.co-
m
Newbie
Posts: 3
Permalink
Post Re: wrong computations on GPU for N>192?
on: May 8, 2013, 12:59
Quote

Hi I didn't tried 256x192x256.

What I tried is several experiments with different cube size(NxNxN),different cuda version and different niftyrec version, there is my results:

Niftyrec 166, Cuda 4.2 64bit, matlab 64bit, N = 64,128,192 OK, 256-448 Constant output(same as on previous picture), 512 - error due the memory allocation(seems that memory requirement was higher than my 4GB on the card)

Niftyrec 168, Cuda 4 64bit, matlab 64bit, N = 64 artifacts in the image,N=128 OK, N=192 artifacts in the image, N= 256 matlab crush

Niftyrec 168, Cuda 5 64bit, matlab 64bit, N = 64,128 OK, N= 192 artifacts in the image, N= 256 matlab crush

Do you still want the 256x192x256 experiment? My codes does not work with non cubic volume. Do you have working example?

I hope this will be usefull for you.

spedemon
Administrator
Posts: 22
Permalink
Post Re: wrong computations on GPU for N>192?
on: May 8, 2013, 13:05
Quote

Hi Lukas,
Thanks for the information, while we look at the problem, have a look at et_demo_mlem_noncube.m
Stefano

lukas.zuba-
l@gmail.co-
m
Newbie
Posts: 3
Permalink
Post Re: wrong computations on GPU for N>192?
on: May 11, 2013, 10:38
Quote

Hi Stefano,
there is output of et_demo_mlem_noncube.m

??? Error using ==> et_backproject_mex
niftyrec: ERROR - unspecified error.

Error in ==> et_backproject at 96
image = et_backproject_mex(sinogram, cameras, attenuation, psf, use_gpu, background, background_attenuation,
truncate_negative_values);

Error in ==> et_demo_mlem_noncube at 39
norm = et_backproject(ones(N,m,length(cameras)), cameras, attenuation, psf, GPU) ;

Same result for N= 192;m = 128; and N= 256;m= 192;

This function does not end with error for N= 64;m= 64; but output is constant "white".

Sorry for late

Lukas

Pages: [1]
Mingle Forum by cartpauj
Version: 1.0.34 ; Page loaded in: 0.103 seconds.
{lang: 'en-GB'}