Loading src/implementation/core/memory-operations.h +3 −14 Original line number Diff line number Diff line Loading @@ -87,21 +87,10 @@ bool setMemoryCuda( Element* data, dim3 blockSize, gridSize; blockSize. x = 512; int blocksNumber = ceil( ( double ) size / ( double ) blockSize. x ); int gridsNumber = ceil( ( double ) blocksNumber / ( double ) maxCudaGridSize ); int elementsPerThread = ceil( ( double ) blocksNumber / ( double ) maxCudaGridSize ); setVectorValueCudaKernel<<< gridSize, blockSize >>>( data, size, value, elementsPerThread ); cerr << "Grids number is " << gridsNumber << endl; for( int gridIdx = 0; gridIdx < gridsNumber; gridIdx ++ ) { cout << "GridIdx = " << gridIdx << endl; if( gridIdx < gridsNumber - 1 ) gridSize. x = maxCudaGridSize; else gridSize. x = blocksNumber - gridIdx * maxCudaGridSize; cout << "GridSize. x = " << gridSize. x << endl; setVectorValueCudaKernel<<< gridSize, blockSize >>> ( &( data[ gridIdx * maxCudaGridSize * blockSize. x ] ), value ); } return checkCudaDevice; #else cerr << "I am sorry but CUDA support is missing on this system " << __FILE__ << " line " << __LINE__ << "." << endl; Loading Loading
src/implementation/core/memory-operations.h +3 −14 Original line number Diff line number Diff line Loading @@ -87,21 +87,10 @@ bool setMemoryCuda( Element* data, dim3 blockSize, gridSize; blockSize. x = 512; int blocksNumber = ceil( ( double ) size / ( double ) blockSize. x ); int gridsNumber = ceil( ( double ) blocksNumber / ( double ) maxCudaGridSize ); int elementsPerThread = ceil( ( double ) blocksNumber / ( double ) maxCudaGridSize ); setVectorValueCudaKernel<<< gridSize, blockSize >>>( data, size, value, elementsPerThread ); cerr << "Grids number is " << gridsNumber << endl; for( int gridIdx = 0; gridIdx < gridsNumber; gridIdx ++ ) { cout << "GridIdx = " << gridIdx << endl; if( gridIdx < gridsNumber - 1 ) gridSize. x = maxCudaGridSize; else gridSize. x = blocksNumber - gridIdx * maxCudaGridSize; cout << "GridSize. x = " << gridSize. x << endl; setVectorValueCudaKernel<<< gridSize, blockSize >>> ( &( data[ gridIdx * maxCudaGridSize * blockSize. x ] ), value ); } return checkCudaDevice; #else cerr << "I am sorry but CUDA support is missing on this system " << __FILE__ << " line " << __LINE__ << "." << endl; Loading