lattice / quda

QUDA is a library for performing calculations in lattice QCD on GPUs.
https://lattice.github.io/quda
Other
289 stars 97 forks source link

Separate dslash_quda.cu into separate files #68

Closed maddyscientist closed 10 years ago

maddyscientist commented 12 years ago

CUDA 5.0 will have a separate device linker, this will allow us to put all the kernels in dslash_quda.cu (e.g., dslash, force, link fattening) into separate files since the constants and textures will not have to be at file scope. I propose that for QUDA 0.5 we modularize the library in this fashion. The only drawback is that this will require Fermi and upwards, which excludes Tesla architecture. By the time we get round to this though, this will likely not be an issue.

This benefit of this is that the kernel building can be done in parallel which will make the build process much faster.

maddyscientist commented 10 years ago

I'm working on this now. I have decided to adopt a fairly straightforward approach, that can be improved upon later if needed. To avoid clashes between constants and textures in different files we can inline the same constant and texture definitions into different files and use a different namespace in each to avoid clashes. It requires a little bit of work, but nothing major.

maddyscientist commented 10 years ago

Closed with commit 3bfcdccf76be7e4729fd8438361df5c108db8295