diff --git a/src/implementation/core/memory-operations.h b/src/implementation/core/memory-operations.h index 4b1b8b09cdf1057e32023ef785b891bd91c14713..00871261f2cc9c343878b5717cfda4bd2b4436d3 100644 --- a/src/implementation/core/memory-operations.h +++ b/src/implementation/core/memory-operations.h @@ -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;