Accelerating Haskell GPGPU Programming with Haskell
summary
The page claims the accelerate library embeds an array DSL in Haskell and generates code for a CUDA backend or OpenCL, targeting GPUs with hundreds of cores to run data‑parallel maps, folds and dot products. Code uses use/fromList/fill to lift arrays, map/zip/fold to express kernels, and run to execute (interpreter for CPU testing). Element types are restricted, performance depends on backend and types, and simple examples like vector dot product execute and give measurable speedups when run on a real GPU.
AI-written summary · about
chapters (37)
- 0:00Introduction
- 2:00What is GPGPU
- 3:00Moores Law
- 5:20Incremental vs exponential
- 7:07Specialist processes
- 7:55GPU processing
- 8:12Powerlessness
- 8:45Parallelization
- 9:30Exploiters
- 9:54CUDA OpenCL
- 10:23Nvidia Documentation
- 10:40Haskell
- 10:55Accelerate
- 11:13Rain Computing
- 11:24Haskell Packages
- 11:38Backend
- 12:01Offloading
- 12:33Arrays
- 13:04CUDA
- 13:53Recurrence
- 14:20Constructors
- 14:51Scaling
- 15:28Budget
- 15:48Matrix
- 15:58Providers
- 16:37Dimensions
- 17:02Multidimensional array
- 17:53Run
- 18:09Array
- 18:20Map
- 19:18Map Run
- 19:55Alt Explicit
- 20:27Unit Computation
- 21:05Fill
- 21:54DotProduct
- 22:43FloatCGPA
- 23:15Resources
related talks
02h 50mFunctional Array Funhouse Intensive - Part 3 of 5
44mFunctional Array Funhouse Intensive - Part 5 of 5
01h 02mExploit your GPU power with PyCUDA (and friends)
30mCUDA in Your Python: Effective Parallel Programming on the GPU
32mGPU.JS - GPU Accelerated JavaScript
47mFunctional Array Funhouse Intensive - Part 4 of 5
58mFunctional Array Funhouse Intensive - Part 2 of 5
50mFrom Magic to Mechanics: Demystifying GPU Programming
