Re: [Pharo-users] Using VirtualGPU

2015-05-12 Thread Alain Busser
Hi Serge,

I made some experiments with GPU computing with JavaScript. I understood
that the computings are made forever inside the GPU, so you just throw data
and programs once and you let the GPU compute for you. Yet the problem is
to read the data once they are computed. With webGL it seems impossible,
with webCL it is possible and not easy. Hence the choice of openCL I guess.

I relate here how I could compute the powers of a Markov matrix here:
http://revue.sesamath.net/spip.php?article651 (especially click on webGL
sans three.js). I also made some experiments here:
http://irem.univ-reunion.fr/spip.php?article797 (but they use three.js if I
remember well)

Happy readings, and, yes, I feel interersted in these subjects

Alain

On Tue, May 12, 2015 at 7:48 PM, Serge Stinckwich 
serge.stinckw...@gmail.com wrote:

 Dear all,

 just to let you know, Cheikhou (in CC) is starting a student
 internship in my lab.
 He will work on Epidemiology Modelling with KENDRICK:
 http://ummisco.github.io/kendrick/
 the platform that we are developing in order to analyse and visualise
 diseases models behaviours.

 We would like first to implement a GPU version of the Gillespie
 Stochastic Simulation Algorithm (GSSA):
 http://en.wikipedia.org/wiki/Gillespie_algorithm and after that also
 implement SPH simulations:
 https://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics

 We are looking at the code of OpenCL and VirtualGPU done by Ronnie.
 What we have understand until now :
 - OpenCL package : low-level stuff to be able to interface OpenCL
 kernels with Pharo
 - VirtualGPU: high-level API on top of OpenCL in order to ease the
 task of people who wants to use OpenCL. VirtualGPU provide high-level
 operations on matrix and image at the moment.

 @Ronie: What is not clear at the moment in our mind : when you build a
 VirtualGPU program with the DSL, do you have the overhead of
 communications every time you execute a VirtualGPU instruction or all
 the the instructions are sent at the same time and run on the GPU ?

 In our context, for building a GSSA algorithm, I guess we just have to
 combine same VGPU instructions (matrix computations) but for doing SPH
 simulations, we will have to provide our own instructions. Is there
 any documentation in order to add own kernel and instructions ?

 I know that others guys at INRIA (Stéphane ?) are interested by GPU.
 Is it possible to join our effort to share what we are doing ?

 Regards,
 --
 Serge Stinckwich
 UCBN  UMI UMMISCO 209 (IRD/UPMC)
 Every DSL ends up being Smalltalk
 http://www.doesnotunderstand.org/




[Pharo-users] Using VirtualGPU

2015-05-12 Thread Serge Stinckwich
Dear all,

just to let you know, Cheikhou (in CC) is starting a student
internship in my lab.
He will work on Epidemiology Modelling with KENDRICK:
http://ummisco.github.io/kendrick/
the platform that we are developing in order to analyse and visualise
diseases models behaviours.

We would like first to implement a GPU version of the Gillespie
Stochastic Simulation Algorithm (GSSA):
http://en.wikipedia.org/wiki/Gillespie_algorithm and after that also
implement SPH simulations:
https://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics

We are looking at the code of OpenCL and VirtualGPU done by Ronnie.
What we have understand until now :
- OpenCL package : low-level stuff to be able to interface OpenCL
kernels with Pharo
- VirtualGPU: high-level API on top of OpenCL in order to ease the
task of people who wants to use OpenCL. VirtualGPU provide high-level
operations on matrix and image at the moment.

@Ronie: What is not clear at the moment in our mind : when you build a
VirtualGPU program with the DSL, do you have the overhead of
communications every time you execute a VirtualGPU instruction or all
the the instructions are sent at the same time and run on the GPU ?

In our context, for building a GSSA algorithm, I guess we just have to
combine same VGPU instructions (matrix computations) but for doing SPH
simulations, we will have to provide our own instructions. Is there
any documentation in order to add own kernel and instructions ?

I know that others guys at INRIA (Stéphane ?) are interested by GPU.
Is it possible to join our effort to share what we are doing ?

Regards,
-- 
Serge Stinckwich
UCBN  UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/