All Projects → mathiasbourgoin → Spoc

mathiasbourgoin / Spoc

Licence: other
Stream Processing with OCaml

Programming Languages

ocaml
1615 projects

Projects that are alternatives of or similar to Spoc

Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
Stars: ✭ 793 (+589.57%)
Mutual labels:  gpgpu, opencl, cuda
Hashcat
World's fastest and most advanced password recovery utility
Stars: ✭ 11,014 (+9477.39%)
Mutual labels:  gpgpu, opencl, cuda
Babelstream
STREAM, for lots of devices written in many programming models
Stars: ✭ 121 (+5.22%)
Mutual labels:  gpgpu, opencl, cuda
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+1326.96%)
Mutual labels:  gpgpu, opencl, cuda
Parenchyma
An extensible HPC framework for CUDA, OpenCL and native CPU.
Stars: ✭ 71 (-38.26%)
Mutual labels:  gpgpu, opencl, cuda
Neanderthal
Fast Clojure Matrix Library
Stars: ✭ 927 (+706.09%)
Mutual labels:  gpgpu, opencl, cuda
Arrayfire
ArrayFire: a general purpose GPU library.
Stars: ✭ 3,693 (+3111.3%)
Mutual labels:  gpgpu, opencl, cuda
Vexcl
VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP
Stars: ✭ 626 (+444.35%)
Mutual labels:  gpgpu, opencl, cuda
Hipsycl
Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
Stars: ✭ 377 (+227.83%)
Mutual labels:  gpgpu, opencl, cuda
Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (+225.22%)
Mutual labels:  gpgpu, opencl, cuda
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (+100%)
Mutual labels:  gpgpu, opencl, cuda
Bitcracker
BitCracker is the first open source password cracking tool for memory units encrypted with BitLocker
Stars: ✭ 463 (+302.61%)
Mutual labels:  gpgpu, opencl, cuda
Arrayfire Python
Python bindings for ArrayFire: A general purpose GPU library.
Stars: ✭ 358 (+211.3%)
Mutual labels:  gpgpu, opencl, cuda
Amgcl
C++ library for solving large sparse linear systems with algebraic multigrid method
Stars: ✭ 390 (+239.13%)
Mutual labels:  gpgpu, opencl, cuda
Arrayfire Rust
Rust wrapper for ArrayFire
Stars: ✭ 525 (+356.52%)
Mutual labels:  gpgpu, opencl, cuda
Juice
The Hacker's Machine Learning Engine
Stars: ✭ 743 (+546.09%)
Mutual labels:  opencl, cuda
Pyopencl
OpenCL integration for Python, plus shiny features
Stars: ✭ 790 (+586.96%)
Mutual labels:  opencl, cuda
Ktt
Kernel Tuning Toolkit
Stars: ✭ 33 (-71.3%)
Mutual labels:  opencl, cuda
Luxcore
LuxCore source repository
Stars: ✭ 601 (+422.61%)
Mutual labels:  opencl, cuda
Openclpapers
A Collection of Articles and other OpenCL Papers
Stars: ✭ 37 (-67.83%)
Mutual labels:  gpgpu, opencl

Build Status

SPOC is a set of tools for GPGPU programming with OCaml.

The SPOC library enables the detection and use of GPGPU devices with OCaml using Cuda and OpenCL. There is also a camlp4 syntax extension to handle external Cuda or OpenCL kernels, as well as a DSL to express GPGPU kernels from the OCaml code.

This work was part of my PhD thesis (UPMC-LIP6 laboratory, Paris, France) and was partially funded by the OpenGPU project. I continued this project in 2014-2015 in the Verimag laboratory (Grenoble, France) and then from 2015 to 2018 in the LIFO laboratory in Orléans, France. I currently work at Nomadic Labs

SPOC has been tested on multiple architectures and systems, mostly 64-bit Linux and 64-bit OSX systems. It should work with Windows too.

To be able to use SPOC, you'll need a computer capable of running OCaml (obviously) but also compatible with either OpenCL or Cuda. For Cuda you only need a current proprietary NVidia driver while for OpenCL you need to install the correct OpenCL implementation for your system. SPOC should compile anyway as everything is dynamically linked, but you'll need Cuda/OpenCL eventually to run your programs.

Docker image (Probably deprecated)

For more information, examples and live tutorials, please check the github page :

  more infos
  how to build spoc
  web examples
  web tutorials
  slides from past presentations
  publications references
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].