Apple's position is clearly Objective-C or Objective-C++ and OpenCL.
NVIDIA will no doubt continue to push CUDA whilst being accepting of
OpenCL. CUDA and OpenCL are though C level technologies, so only just
above the level of assembly language.
Microsoft have now staked out their position with C++ AMP (which has
come as a surprise to many given is dissociation from .NET).
The Java Platform doesn't really have a position per se, but the GPars
project really should be looking at how to support this just as soon as
it can -- sadly it might involve JNI :-(
Intel only backs C and C++ technology, so they will not have anything to
say about Java.
So an obvious question is where is Go in all this. I believe there is
no "Go Manifesto" that covers this situation. Are people working on it?
Is there any interest in doing so?
Thanks.
--
Russel.
=============================================================================
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel...@ekiga.net
41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@russel.org.uk
London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
I think this is over complex.
Maybe some small program in C that can communicate with the GPU (do
the hard thing) and back to Go is a better approach.
I don't think is possible run the CGO libraries on the GPU and the GO
programns on the CPU.
But making a protocol to control that kind of communication isn't very
hard at a first thought.
--
André Moraes
http://andredevchannel.blogspot.com/
On Tue, Jun 21, 2011 at 11:46 PM, Fabio Kaminski
<fabiok...@gmail.com> wrote:
> i think the most succesfull hardware formula is the one produced by
> intel and amd now.. with cpu and gpu "integrated"
> in the end its just means a cpu with good simd and vectorization support..
>
> with intel for instance when you use their solution to opencl in fact
> you are just using special avx registers ..
>
> with processor industry creating these news cpus.. the best thing to
> do is just wait, until they become the norm...
>
> and then.. a lot of work in the compilers will have to be made.. and
> i think some language sintax sugar will be helpfull to like this weird
> one:
>
> v1, v2, v3, v4 += 3.7, 7.8, 9.9, 8.3 ---> all in one "shot" on the processor
>
> but of course.. compiler can do this hard work in our behalf with
> actual language constructs..
>
> so in my opinion.. the best thing to do.. its just wait til things calm down ..
>
> its just to much work to be done.. cause.. you have to work with all
> gpus.. ati, nvidia, and others.. each one with its own proprietary and
> complex bytecode..
>
> if somebody really hates c99 cl.. maybe the shortest path its to
> create some glue to llvm bytecode right now.. otherwise.. to much a
> headache.. :s
>
> better to wait for more and bigger vector support from the new cpus..
with intel for instance when you use their solution to opencl in fact
you are just using special avx registers ..
with processor industry creating these news cpus.. the best thing to
do is just wait, until they become the norm...
and then.. a lot of work in the compilers will have to be made.. and
i think some language sintax sugar will be helpfull to like this weird
one:
v1, v2, v3, v4 += 3.7, 7.8, 9.9, 8.3 ---> all in one "shot" on the processor
but of course.. compiler can do this hard work in our behalf with
actual language constructs..
so in my opinion.. the best thing to do.. its just wait til things calm down ..
its just to much work to be done.. cause.. you have to work with all
gpus.. ati, nvidia, and others.. each one with its own proprietary and
complex bytecode..
if somebody really hates c99 cl.. maybe the shortest path its to
create some glue to llvm bytecode right now.. otherwise.. to much a
headache.. :s
better to wait for more and bigger vector support from the new cpus..
On Tue, Jun 21, 2011 at 2:09 PM, Kyle Lemons <kev...@google.com> wrote:
It is becoming more and more obvious that mixed CPU/GPU processors are
soon to be coming down the Intel production line. We all knew this was
going to happen two or three years ago, but all the corporate
positioning is beginning to happen, so I guess we can expect more
announcements fairly soon.Apple's position is clearly Objective-C or Objective-C++ and OpenCL.
NVIDIA will no doubt continue to push CUDA whilst being accepting of
OpenCL. CUDA and OpenCL are though C level technologies, so only just
above the level of assembly language.Microsoft have now staked out their position with C++ AMP (which has
come as a surprise to many given is dissociation from .NET).The Java Platform doesn't really have a position per se, but the GPars
project really should be looking at how to support this just as soon as
it can -- sadly it might involve JNI :-(Intel only backs C and C++ technology, so they will not have anything to
say about Java.So an obvious question is where is Go in all this. I believe there is
no "Go Manifesto" that covers this situation. Are people working on it?
Is there any interest in doing so?Thanks.
--
Russel.
=============================================================================
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russ...@ekiga.net
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
It is becoming more and more obvious that mixed CPU/GPU processors are
soon to be coming down the Intel production line. We all knew this was
going to happen two or three years ago, but all the corporate
positioning is beginning to happen, so I guess we can expect more
announcements fairly soon.Apple's position is clearly Objective-C or Objective-C++ and OpenCL.
NVIDIA will no doubt continue to push CUDA whilst being accepting of
OpenCL. CUDA and OpenCL are though C level technologies, so only just
above the level of assembly language.Microsoft have now staked out their position with C++ AMP (which has
come as a surprise to many given is dissociation from .NET).The Java Platform doesn't really have a position per se, but the GPars
project really should be looking at how to support this just as soon as
it can -- sadly it might involve JNI :-(Intel only backs C and C++ technology, so they will not have anything to
say about Java.So an obvious question is where is Go in all this. I believe there is
no "Go Manifesto" that covers this situation. Are people working on it?
Is there any interest in doing so?Thanks.
--
Russel.
=============================================================================
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russ...@ekiga.net
> sounds like vgo:
> https://github.com/remyoudompheng/go-vectops
Go seems to be a really good fit for GPU stuff since it has soft, runtime-managed threads (aka goroutines) built in.The suggestion to compile goroutines into GPU code by unrolling loops is good but we might not yet have a technology that does that reliably.A more conservative approach could be to use the SIMD principle, in this case Single Goroutine Multiple Data. The goroutine would define the processing and the runtime would apply it to specified vector of data, executing the processing of each vector component on a GPU core.The tricky part here is to extend the goroutine syntax to include the input vector and the output vector.A possible limitation is that people might want to execute parallell calculations that do not fit the SIMD principle but are for example map-reduce based.Any opinions ?Martin
On Monday, June 20, 2011 8:40:53 AM UTC+2, Russel Winder wrote:
It is becoming more and more obvious that mixed CPU/GPU processors are
soon to be coming down the Intel production line. We all knew this was
going to happen two or three years ago, but all the corporate
positioning is beginning to happen, so I guess we can expect more
announcements fairly soon.Apple's position is clearly Objective-C or Objective-C++ and OpenCL.
NVIDIA will no doubt continue to push CUDA whilst being accepting of
OpenCL. CUDA and OpenCL are though C level technologies, so only just
above the level of assembly language.Microsoft have now staked out their position with C++ AMP (which has
come as a surprise to many given is dissociation from .NET).The Java Platform doesn't really have a position per se, but the GPars
project really should be looking at how to support this just as soon as
it can -- sadly it might involve JNI :-(Intel only backs C and C++ technology, so they will not have anything to
say about Java.So an obvious question is where is Go in all this. I believe there is
no "Go Manifesto" that covers this situation. Are people working on it?
Is there any interest in doing so?Thanks.
--
Russel.
=============================================================================
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russ...@ekiga.net
41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@russel.org.uk
London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
--