Improvements for GPU code generation
- turned on restrict keyword by default (makes large difference on GPUs) - smarter block indexing: changing block size depending on domain size Example: previously there where (1,1,1) blocks when requested block size was (64, 1, 1) and domain size (1, 512, 512), now the block size is changed automatically to (1, 64, 1) in this case - added __lauch_bounds__ to kernels to allow better optimizations from the CUDA compiler
Showing
- pystencils/backends/cbackend.py 7 additions, 1 deletionpystencils/backends/cbackend.py
- pystencils/gpucuda/cudajit.py 1 addition, 1 deletionpystencils/gpucuda/cudajit.py
- pystencils/gpucuda/indexing.py 25 additions, 8 deletionspystencils/gpucuda/indexing.py
- pystencils/integer_functions.py 29 additions, 0 deletionspystencils/integer_functions.py
- pystencils/kernelparameters.py 1 addition, 1 deletionpystencils/kernelparameters.py
- pystencils/sympyextensions.py 1 addition, 0 deletionspystencils/sympyextensions.py
- pystencils_tests/test_cudagpu.py 11 additions, 1 deletionpystencils_tests/test_cudagpu.py
Please register or sign in to comment