GPGPUs

Russel Winder russel at winder.org.uk
Fri Aug 16 03:04:12 PDT 2013


On Fri, 2013-08-16 at 04:21 +0200, Atash wrote:
[…]
> Clarifying question:
> 
> At what level is this interest pointed at? Is it at the level of 
> assembly/IL and other scary stuff, or is it at creating bindings 
> that are cleaner and providing more convenient tools?

Assembly language and other intermediate languages is far from scary but
not really what is proposed, which was intended to be "standards
compliant", with the current standard being OpenCL. There is a place for
assembly language level working but there are others who do that to
realize the standards giving us a C linkage API.

> 'Cuz I'm seeing a lot of potential in D for a library-based 
> solution, handling kernel code similar to how CUDA does (I think 
> the word is 'conveniently'), 'cept with OpenCL or whatever 
> lower-level-standard-that-exists-on-more-than-just-one-company's-hardware 
> and abuse of the import() expression coupled with a heavy dose of 
> metaprogramming magic.

CUDA has a huge tool chain designed as much to ensure lock in to C, C++
and NVIDIA as to make computations easier for end users.

OpenCL is (was?) Apple's vision for API access to the mixed CPU and
GPGPU hardware it envisaged, and which is now rapidly being delivered.
Intel chips from now on will always have one or more GPGPU on the CPU
chips. They label this the "many core" approach.

The core (!) point here is that processor chips are rapidly becoming a
collection of heterogeneous cores. Any programming language that assumes
a single CPU or a collection of homogeneous CPUs has built-in
obsolescence.

So the question I am interested in is whether D is the language that can
allow me to express in a single codebase a program in which parts will
be executed on one or more GPGPUs and parts on multiple CPUs. D has
support for the latter, std.parallelism and std.concurrency.

I guess my question is whether people are interested in std.gpgpu (or
some more sane name).

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20130816/aa85c9f4/attachment.pgp>


More information about the Digitalmars-d mailing list