BrowserUk,
Not even close to a canned solution, but I assume you read this Dr. Dobb's article in which it implies it is trivial using SWIG? There is an example Python example with the SWIG source code.
| [reply] |
Yes. I've read the series, and I saw the SWIG reference. But, my past experiences with attempting to use SWIG (on Win) have been less than successful; and if it was so trivial, I am surprised that no one has done it for Perl yet. In theory, h2xs also ought to be able to build a Perlish interface for it, but that doesn't work with MS compilers either.
Anyway, as it turns out, I wouldn't be able to utilise it anyway. Although the latest drivers for my NVidia GeForce 7050 "support CUDA", the actual card itself doesn't. That didn't become available until the GeForce 8 series :( I could apparently run it in emulation mode, but that kinda defeats the purpose. And I do not see myself springing for an upgraded graphics card anytime time soon.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
Try searching cpan again with 'CUDA'--you should get KappaCUDA 1.1.1. This is a SWIG wrapper (SWIG '.i' file included in the module package) of the (commercial) Kappa Library which I wrote. BTW, this SWIG file should work for any other SWIG supported language--I know it works for Python, for example.
The KappaCUDA module gives complete object-oriented access to the CUDA driver API (which is a superset of the
runtime API) along with memory management, a kernel scheduler, and implementing the Perl philosophy that: by default it should do the right thing but it should let you do whatever you want.
I will soon be posting on my website: PsiLambda.com a companion piece, keywordPerl, that gives Perl as close to complete parity (other than performance) with C++ as GPU hardware allows (GPU hardware is not likely to run Perl or any other interpreted language any time soon--although I look forward to the notice that informs me that I am wrong about that ;) ).
| [reply] |
| [reply] |
You know, it would be really nice if you'd explain (in your blog post) what CUDA is, for those of us who might not know already. At the very least, you could link to wikipedia (CUDA).
| [reply] |
Ha! Of course! Thanks, I've updated my blog post with a link and a one-sentence summary.
| [reply] |