ericentin / mandelixir

A GPU-boosted Mandelbrot viewer implemented in Elixir, using the Scenic Framework and OpenCL

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mandelixir

A GPU-boosted Mandelbrot viewer implemented in Elixir, using the Scenic Framework and OpenCL.

mandelixir window

Just a fun free-time hack. OpenCL makes this possible, without it a naive Elixir implementation renders this same image hundreds of times slower.

Interfaces with OpenCL via the https://github.com/tonyrog/cl Erlang OpenCL binding.

Usage

  1. Install prerequisites for scenic applications as described here: https://github.com/boydm/scenic_new#install-prerequisites
  2. Install prerequisites for OpenCL. Check https://github.com/tonyrog/cl for more information if you have trouble finding the right packages. On most modern versions of macOS you should be good to go. For ubuntu 18, install the package ocl-icd-opencl-dev, at least, plus any packages for your OpenCL-capable device! Please open an issue if you think it should work and it doesn't, I'm interested in discovering more about how different OSes handle this. Thanks!
  3. In the mandelixir dir, MIX_ENV=prod mix do deps.get, scenic.run

About

A GPU-boosted Mandelbrot viewer implemented in Elixir, using the Scenic Framework and OpenCL


Languages

Language:Elixir 91.2%Language:C 8.8%