I tried to optimize my code (sparse matrix vector multiplication) by choosing the optimal blocksize: I ran my code with different blockdimensions according to the warp occupancy calculator (compile code with -cubin option, read reg and shared mem usage and run the code for blocksizes with 100% warp occupancy) and chose the blockdimension with lowest runtime. My problem is that it does change when I take different matrix elements.
Is the runtime(blockdim,…,matrixelements) variable of the matrix elements , if so how can I choose the best blockdim when data is unknown?
Does someone else encountered the same problem ?
thx for help in advance,