The Curious Engineer

All blogs / Lisp / Clojure / Scheme

Dragan Djuric

dragan.rocks

Dragan Djuric's Clojure Blog, Artificial Intelligence, Deep Learning, Bayesian Data Analysis, CUDA, GPU, OpenCL, Functional Programming, Probabilistic Programming, Data Science.

Lisp / Clojure / SchemeAI / MLPerformance / optimizationEngineering blogs

Posts
84 from 20 Oct 2016 to 9 Dec 2025
Posting
now and then (3 in the last year)
Kind
personal blog
Feed
https://dragan.rocks/feed.xml

2025 5

  1. Gemma 3 AI model in Clojure
  2. Plan for Clojure AI, ML, and high-performance Uncomplicate ecosystem in 2026
  3. Not One, Not Two, Not Even Three, but Four Ways to Run an ONNX AI Model on GPU with CUDA
  4. Get Ready for Clojure, GPU, and AI in 2026 with CUDA 13.0
  5. Clojure Runs ONNX AI Models Now - Join the AI fun!

2024 1

  1. Apple silicon support in Clojure's Neanderthal Fast Matrix Library

2022 7

  1. Recurrent Networks Hello World in Clojure with new Deep Diamond RNN support on CPU and GPU
  2. Clojure Sound - 5 - Double Click with Foot Control
  3. Clojure Sound - 4 - Ctrl-Left-Pedal
  4. Clojure Sound 3 - Hello MIDI Controller
  5. My experience with Clojurists Together open source funding
  6. Clojure Sound 2 - A better piano
  7. Maple Leaf Rag with Clojure Sound

2021 2

  1. Why I sometimes like to write my own number crunching code
  2. Hello World of Programming with Linear Algebra

2020 8

  1. Going faster than TensorFlow on the GPU with Clojure (GTX 1080Ti)
  2. Going faster than TensorFlow with Clojure
  3. Deep Learning in Clojure with Fewer Parentheses than Keras and Python
  4. Deep Diamond - Deep Learning in Clojure is Fast, Simpler than Keras
  5. Clojure Neanderthal MKL acceleration out of the box
  6. More fun with NumPy, CuPy, Clojure and GPU acceleration. Hold my Cider 2!
  7. CuPy accelerates NumPy on the GPU? Hold my Cider, here's Clojure!
  8. Baby steps with Covid-19 data for (Clojure) programmers

2019 21

  1. A Common Gotcha with Asynchronous GPU Computing
  2. Fast Tensors in Clojure - a Sneak Peek
  3. Do Judge a Programming Book by its Cover
  4. Billions of Random Numbers in a Blink of an Eye
  5. Deep Learning from Scratch to GPU - 16 - Momentum
  6. Deep Learning from Scratch to GPU - 15 - Weight Decay
  7. Deep Learning from Scratch to GPU - 14 - Learning a Regression
  8. Deep Learning from Scratch to GPU - 13 - Initializing Weights
  9. Deep Learning from Scratch to GPU - 12 - A Simple Neural Network Training API
  10. Deep Learning from Scratch to GPU - 11 - A Simple Neural Network Inference API
  11. Deep Learning from Scratch to GPU - 10 - The Backward Pass (CUDA, OpenCL, Nvidia, AMD, Intel)
  12. Deep Learning from Scratch to GPU - 9 - The Activation and its Derivative
  13. Deep Learning from Scratch to GPU - 8 - The Forward Pass (CUDA, OpenCL, Nvidia, AMD, Intel)
  14. Deep Learning from Scratch to GPU - 7 - Learning and Backpropagation
  15. Deep Learning from Scratch to GPU - 6 - CUDA and OpenCL
  16. Deep Learning from Scratch to GPU - 5 - Sharing Memory
  17. Deep Learning from Scratch to GPU - 4 - Increasing Performance with Batch Processing
  18. Deep Learning from Scratch to GPU - 3 - Fully Connected Inference Layers
  19. Deep Learning from Scratch to GPU - 2 - Bias and Activation Function
  20. Deep Learning from Scratch to GPU - 1 - Representing Layers and Connections
  21. Deep Learning in Clojure from Scratch to GPU - Part 0 - Why Bother?

2018 20

  1. CUDA 10 in Clojure
  2. Neanderthal vs ND4J - vol 5 - Why are native map and reduce up to 100x faster in Clojure?
  3. Code Mesh LDN 2018 - Interactive GPU Programming with ClojureCUDA and ClojureCL
  4. Easy Probability and Clojure - 1 - The South Park Socks Drawer
  5. Programmer, Teach Yourself Foundations of ML and AI with these 6 Books
  6. Clojure Walk through the OpenCL in Action GPU Computing Book - Part 1
  7. I'm ditching Slack and opening a place to foster a more personal interaction
  8. Adopt a Neanderthal function as your own pet! Support my Clojure work on Patreon.
  9. SmallFP & ClojureTRE: Interactive, Functional, GPU Accellerated Programming in Clojure
  10. Neanderthal vs ND4J - vol 4 - Fast Vector Broadcasting in Java, CPU and CUDA
  11. Fast Function Currying in Clojure (Without Macros)
  12. Map and Reduce Primitive Arrays Without Clojure Macros
  13. Neanderthal vs ND4J - vol 3 - Clojure Beyond the Fast Native MKL Backend
  14. Neanderthal vs ND4J - vol 2 - The Same Native MKL Backend, 1000 x Speedup
  15. Neanderthal vs ND4J - vol 1 - Native performance, Java and CPU
  16. Out of the box support for TensorFlow and PyTorch for Clojure has landed in Neanderthal
  17. Interactive GPU Programming - Part 3 - CUDA Context Shenanigans
  18. Interactive GPU Programming - Part 2 - Hello OpenCL
  19. Interactive GPU Programming - Part 1 - Hello CUDA
  20. Neanderthal and friends support CUDA 9, Java 9, and Clojure 1.9

2017 18

  1. Clojure Numerics, Part 6 - More Linear Algebra Fun with Least Squares
  2. Clojure Numerics, Part 5 - Orthogonalization and Least Squares
  3. Clojure Numerics, Part 4 - Singular Value Decomposition (SVD)
  4. Clojure Numerics, Part 3 - Special Linear Systems and Cholesky Factorization
  5. What's nice about Clojure numerical computing with new Neanderthal 0.16.0
  6. Clojure Numerics, Part 2 - General Linear Systems and LU Factorization
  7. Neanderthal 0.15.0 Released - Many more specialized matrix data structures in Clojure
  8. Setting up Neanderthal - High Performance Clojure Easy as 1,2,3
  9. Clojure Numerics, Part 1 - Use Matrices Efficiently
  10. Clojure Linear Algebra Refresher (4) - Linear Transformations
  11. Clojure Linear Algebra Refresher (3) - Matrix Transformations
  12. Clojure Linear Algebra Refresher (3) - Matrix Transformations
  13. Clojure Linear Algebra Refresher (2) - Eigenvalues and Eigenvectors
  14. Clojure Linear Algebra Refresher (1) - Vector Spaces
  15. CUDA and cuBLAS GPU matrices in Clojure
  16. Neanderthal 0.9.0 released - Clojure's high-performance computing story is getting into shape
  17. Neanderthal 0.9.0 with major improvements is around the corner
  18. Bayadera = Bayes + Clojure + GPU (slides for my Bob Konferenz 2017 talk)

2016 2

  1. Clojure is not afraid of the GPU (video of my EuroClojure2016 talk)
  2. Clojure is not afraid of the GPU (slides for my EuroClojure2016 talk)