digitalmars.D - How feasible to wrap Nvidia Toolkit for CUDA Programming
- TJB (12/12) Aug 16 2012 D Masters,
- David (2/13) Aug 16 2012 There is a OpenCL Wrapper written in D: https://github.com/Trass3r/cl4d
- Nick Sabalausky (7/23) Aug 16 2012 Accessing/wrapping C libs in general is pretty straightforward in D:
- Jens Mueller (5/32) Aug 17 2012 And once you have converted the header files please consider creating a
- Jacob Carlborg (5/10) Aug 17 2012 Or just use DStep to automatically generate the bindings:
D Masters, I'm not a hardware guy at all, but I find myself needing to process a lot of data through some Monte Carlo statistical algorithms. I am considering general purpose GPU computing for this task. My question is how feasible will it be to wrap the Nvidia cuBLAS and cuRAND libraries for this purpose? They are written in C, so is it pretty straight forward? I do not have in mind running D code directly on the GPU cores, but having D call out to C code to do so. Is it possible? Feasible? Are there already codes to do this somewhere? Thanks for your insights! TJB
Aug 16 2012
Am 17.08.2012 00:20, schrieb TJB:D Masters, I'm not a hardware guy at all, but I find myself needing to process a lot of data through some Monte Carlo statistical algorithms. I am considering general purpose GPU computing for this task. My question is how feasible will it be to wrap the Nvidia cuBLAS and cuRAND libraries for this purpose? They are written in C, so is it pretty straight forward? I do not have in mind running D code directly on the GPU cores, but having D call out to C code to do so. Is it possible? Feasible? Are there already codes to do this somewhere? Thanks for your insights! TJBThere is a OpenCL Wrapper written in D: https://github.com/Trass3r/cl4d
Aug 16 2012
On Fri, 17 Aug 2012 00:20:10 +0200 "TJB" <broughtj gmail.com> wrote:D Masters, I'm not a hardware guy at all, but I find myself needing to process a lot of data through some Monte Carlo statistical algorithms. I am considering general purpose GPU computing for this task. My question is how feasible will it be to wrap the Nvidia cuBLAS and cuRAND libraries for this purpose? They are written in C, so is it pretty straight forward? I do not have in mind running D code directly on the GPU cores, but having D call out to C code to do so. Is it possible? Feasible? Are there already codes to do this somewhere? Thanks for your insights! TJBAccessing/wrapping C libs in general is pretty straightforward in D: http://dlang.org/interfaceToC.html There's a few things to be aware of (especially on Windows), but this series of articles covers them very well: http://www.gamedev.net/blog/1140/entry-2254003-binding-d-to-c/
Aug 16 2012
Nick Sabalausky wrote:On Fri, 17 Aug 2012 00:20:10 +0200 "TJB" <broughtj gmail.com> wrote:And once you have converted the header files please consider creating a pull request for cuBLAS and cuRAND for Deimos (https://github.com/D-Programming-Deimos). JensD Masters, I'm not a hardware guy at all, but I find myself needing to process a lot of data through some Monte Carlo statistical algorithms. I am considering general purpose GPU computing for this task. My question is how feasible will it be to wrap the Nvidia cuBLAS and cuRAND libraries for this purpose? They are written in C, so is it pretty straight forward? I do not have in mind running D code directly on the GPU cores, but having D call out to C code to do so. Is it possible? Feasible? Are there already codes to do this somewhere? Thanks for your insights! TJBAccessing/wrapping C libs in general is pretty straightforward in D: http://dlang.org/interfaceToC.html There's a few things to be aware of (especially on Windows), but this series of articles covers them very well: http://www.gamedev.net/blog/1140/entry-2254003-binding-d-to-c/
Aug 17 2012
On 2012-08-17 01:27, Nick Sabalausky wrote:Accessing/wrapping C libs in general is pretty straightforward in D: http://dlang.org/interfaceToC.html There's a few things to be aware of (especially on Windows), but this series of articles covers them very well: http://www.gamedev.net/blog/1140/entry-2254003-binding-d-to-c/Or just use DStep to automatically generate the bindings: https://github.com/jacob-carlborg/dstep -- /Jacob Carlborg
Aug 17 2012