caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Vult language made with Ocaml
@ 2015-05-17 19:28 Leonardo Laguna Ruiz
  2015-05-18  8:30 ` Erkki Seppala
  0 siblings, 1 reply; 4+ messages in thread
From: Leonardo Laguna Ruiz @ 2015-05-17 19:28 UTC (permalink / raw)
  To: Caml-list

[-- Attachment #1: Type: text/plain, Size: 1116 bytes --]

Hi, I just wanted to share this project that I made using Ocaml.

Last weekend I attended to the MIDIHACK in Berlin which is a hackathon focused on music technology. During that hackathon I worked on a part of a project that I have been working on for some months.

Vult is a domain specific language focused on algorithms for digital signal processing, for example, making audio effects. Here is the main page of my project http://modlfo.github.io/vult/ <http://modlfo.github.io/vult/>

During the hackathon I set up a platform for real-time coding/experimentation with Vult. I used js_of_ocaml to convert all the compiler to JavaScript, and using the Web Audio and MIDI API it is posible to program audio effects and synthesizers directly in the browser. You can take a look at it here http://modlfo.github.io/vult/demo.html <http://modlfo.github.io/vult/demo.html> but you need a MIDI controller to really have fun with it.

Vult is still in a prototyping stage, so there are still missing features and bugs.

Big thanks to all the people working in Ocaml and other libraries that I use.

Leonardo


[-- Attachment #2: Type: text/html, Size: 1709 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] Vult language made with Ocaml
  2015-05-17 19:28 [Caml-list] Vult language made with Ocaml Leonardo Laguna Ruiz
@ 2015-05-18  8:30 ` Erkki Seppala
  2015-05-19  8:27   ` Leonardo Laguna Ruiz
  0 siblings, 1 reply; 4+ messages in thread
From: Erkki Seppala @ 2015-05-18  8:30 UTC (permalink / raw)
  To: caml-list

Hi!

Leonardo Laguna Ruiz <modlfo@gmail.com> writes:

> Vult is a domain specific language focused on algorithms for digital
> signal processing, for example, making audio effects. Here is the main
> page of my project http://modlfo.github.io/vult/

This looks pretty interesting! May I suggest adding targeting OpenCL in
the future? It could give a nice functional way to express some
algorithms and get the GPU to drive them for performance - and even some
relatively punier platforms such as Parallella are able to use OpenCL.

Good luck with the project!

-- 
  _____________________________________________________________________
     / __// /__ ____  __               http://www.modeemi.fi/~flux/\   \
    / /_ / // // /\ \/ /                                            \  /
   /_/  /_/ \___/ /_/\_\@modeemi.fi                                  \/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] Vult language made with Ocaml
  2015-05-18  8:30 ` Erkki Seppala
@ 2015-05-19  8:27   ` Leonardo Laguna Ruiz
  2015-05-19 22:33     ` Jérôme Benoit
  0 siblings, 1 reply; 4+ messages in thread
From: Leonardo Laguna Ruiz @ 2015-05-19  8:27 UTC (permalink / raw)
  To: caml-list

Hi Erkki,

Targeting OpenCL would be very interesting. Is not yet in the roadmap 
but I will keep an eye on it. I have access to a Parallella board where 
I can do testing but I haven't though too much about how Vult will 
express parallelization.

Leonardo

On 2015-05-18 10:30, Erkki Seppala wrote:
> Hi!
>
> Leonardo Laguna Ruiz <modlfo@gmail.com> writes:
>
>> Vult is a domain specific language focused on algorithms for digital
>> signal processing, for example, making audio effects. Here is the main
>> page of my project http://modlfo.github.io/vult/
> This looks pretty interesting! May I suggest adding targeting OpenCL in
> the future? It could give a nice functional way to express some
> algorithms and get the GPU to drive them for performance - and even some
> relatively punier platforms such as Parallella are able to use OpenCL.
>
> Good luck with the project!
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] Vult language made with Ocaml
  2015-05-19  8:27   ` Leonardo Laguna Ruiz
@ 2015-05-19 22:33     ` Jérôme Benoit
  0 siblings, 0 replies; 4+ messages in thread
From: Jérôme Benoit @ 2015-05-19 22:33 UTC (permalink / raw)
  To: Leonardo Laguna Ruiz; +Cc: caml-list

[-- Attachment #1: Type: text/plain, Size: 2007 bytes --]

On Tue, 19 May 2015 10:27:25 +0200 in <555AF3ED.9040205@gmail.com>, 
Leonardo Laguna Ruiz <modlfo@gmail.com> wrote:

> Hi Erkki,
 
> Targeting OpenCL would be very interesting. Is not yet in the roadmap 
> but I will keep an eye on it. I have access to a Parallella board
> where I can do testing but I haven't though too much about how Vult
> will express parallelization.

I've spent month hacking on Parallella. And parallel programming on
such network-on-chip coprocessor is still at its infancy.

For Vult, I think you should use wrapper around OpenCL primitives to
expose the low-level API to your higher level language. Keep in mind
that the OpenCL implementation for the Parallella epiphany is not 100%
compatible with the standard for good reasons : the mesh network
between the cores and the special instructions that permit to switch
between them at some specific execution points. 

Doing parallel programming on such hardware is really quit new and
the main work so far have to take a CPU intensive task and algo and
*smart* porting them to the epiphany topology with specifics
optimisations, for examples : 

http://www.adapteva.com/wp-content/uploads/2012/10/Scalable-Parallel-Multiplication-of-Big-Matrices.pdf

http://www.hh.se/download/18.4cc60a491424e61ad932fed/1385997469308/MCC134.3.pdf

So far, nobody have found a programming model to distribute the load
across the network topology and the core that will always be
optimized (and I doubt this will happen in a near future) and that's why
it's fun to play with it :)

I play with a geometricaly shaped load distribution of
commons executions patterns found in distributed algo for grid, just
because it's now possible to do for real in 2D :) And it sound promising
in term of performance with low overhead, but who cares ? :)

-- 
Jérôme Benoit aka fraggle
Piment Noir - http://piment-noir.org
OpenPGP Key ID : 9FE9161D
Key fingerprint : 9CA4 0249 AF57 A35B 34B3 AC15 FAA0 CB50 9FE9 161D

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-05-19 22:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-17 19:28 [Caml-list] Vult language made with Ocaml Leonardo Laguna Ruiz
2015-05-18  8:30 ` Erkki Seppala
2015-05-19  8:27   ` Leonardo Laguna Ruiz
2015-05-19 22:33     ` Jérôme Benoit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).