All blogs / Lisp / Clojure / Scheme
Dragan Djuric
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
2024 1
2022 7
- Recurrent Networks Hello World in Clojure with new Deep Diamond RNN support on CPU and GPU
- Clojure Sound - 5 - Double Click with Foot Control
- Clojure Sound - 4 - Ctrl-Left-Pedal
- Clojure Sound 3 - Hello MIDI Controller
- My experience with Clojurists Together open source funding
- Clojure Sound 2 - A better piano
- Maple Leaf Rag with Clojure Sound
2021 2
2020 8
- Going faster than TensorFlow on the GPU with Clojure (GTX 1080Ti)
- Going faster than TensorFlow with Clojure
- Deep Learning in Clojure with Fewer Parentheses than Keras and Python
- Deep Diamond - Deep Learning in Clojure is Fast, Simpler than Keras
- Clojure Neanderthal MKL acceleration out of the box
- More fun with NumPy, CuPy, Clojure and GPU acceleration. Hold my Cider 2!
- CuPy accelerates NumPy on the GPU? Hold my Cider, here's Clojure!
- Baby steps with Covid-19 data for (Clojure) programmers
2019 21
- A Common Gotcha with Asynchronous GPU Computing
- Fast Tensors in Clojure - a Sneak Peek
- Do Judge a Programming Book by its Cover
- Billions of Random Numbers in a Blink of an Eye
- Deep Learning from Scratch to GPU - 16 - Momentum
- Deep Learning from Scratch to GPU - 15 - Weight Decay
- Deep Learning from Scratch to GPU - 14 - Learning a Regression
- Deep Learning from Scratch to GPU - 13 - Initializing Weights
- Deep Learning from Scratch to GPU - 12 - A Simple Neural Network Training API
- Deep Learning from Scratch to GPU - 11 - A Simple Neural Network Inference API
- Deep Learning from Scratch to GPU - 10 - The Backward Pass (CUDA, OpenCL, Nvidia, AMD, Intel)
- Deep Learning from Scratch to GPU - 9 - The Activation and its Derivative
- Deep Learning from Scratch to GPU - 8 - The Forward Pass (CUDA, OpenCL, Nvidia, AMD, Intel)
- Deep Learning from Scratch to GPU - 7 - Learning and Backpropagation
- Deep Learning from Scratch to GPU - 6 - CUDA and OpenCL
- Deep Learning from Scratch to GPU - 5 - Sharing Memory
- Deep Learning from Scratch to GPU - 4 - Increasing Performance with Batch Processing
- Deep Learning from Scratch to GPU - 3 - Fully Connected Inference Layers
- Deep Learning from Scratch to GPU - 2 - Bias and Activation Function
- Deep Learning from Scratch to GPU - 1 - Representing Layers and Connections
- Deep Learning in Clojure from Scratch to GPU - Part 0 - Why Bother?
2018 20
- CUDA 10 in Clojure
- Neanderthal vs ND4J - vol 5 - Why are native map and reduce up to 100x faster in Clojure?
- Code Mesh LDN 2018 - Interactive GPU Programming with ClojureCUDA and ClojureCL
- Easy Probability and Clojure - 1 - The South Park Socks Drawer
- Programmer, Teach Yourself Foundations of ML and AI with these 6 Books
- Clojure Walk through the OpenCL in Action GPU Computing Book - Part 1
- I'm ditching Slack and opening a place to foster a more personal interaction
- Adopt a Neanderthal function as your own pet! Support my Clojure work on Patreon.
- SmallFP & ClojureTRE: Interactive, Functional, GPU Accellerated Programming in Clojure
- Neanderthal vs ND4J - vol 4 - Fast Vector Broadcasting in Java, CPU and CUDA
- Fast Function Currying in Clojure (Without Macros)
- Map and Reduce Primitive Arrays Without Clojure Macros
- Neanderthal vs ND4J - vol 3 - Clojure Beyond the Fast Native MKL Backend
- Neanderthal vs ND4J - vol 2 - The Same Native MKL Backend, 1000 x Speedup
- Neanderthal vs ND4J - vol 1 - Native performance, Java and CPU
- Out of the box support for TensorFlow and PyTorch for Clojure has landed in Neanderthal
- Interactive GPU Programming - Part 3 - CUDA Context Shenanigans
- Interactive GPU Programming - Part 2 - Hello OpenCL
- Interactive GPU Programming - Part 1 - Hello CUDA
- Neanderthal and friends support CUDA 9, Java 9, and Clojure 1.9
2017 18
- Clojure Numerics, Part 6 - More Linear Algebra Fun with Least Squares
- Clojure Numerics, Part 5 - Orthogonalization and Least Squares
- Clojure Numerics, Part 4 - Singular Value Decomposition (SVD)
- Clojure Numerics, Part 3 - Special Linear Systems and Cholesky Factorization
- What's nice about Clojure numerical computing with new Neanderthal 0.16.0
- Clojure Numerics, Part 2 - General Linear Systems and LU Factorization
- Neanderthal 0.15.0 Released - Many more specialized matrix data structures in Clojure
- Setting up Neanderthal - High Performance Clojure Easy as 1,2,3
- Clojure Numerics, Part 1 - Use Matrices Efficiently
- Clojure Linear Algebra Refresher (4) - Linear Transformations
- Clojure Linear Algebra Refresher (3) - Matrix Transformations
- Clojure Linear Algebra Refresher (3) - Matrix Transformations
- Clojure Linear Algebra Refresher (2) - Eigenvalues and Eigenvectors
- Clojure Linear Algebra Refresher (1) - Vector Spaces
- CUDA and cuBLAS GPU matrices in Clojure
- Neanderthal 0.9.0 released - Clojure's high-performance computing story is getting into shape
- Neanderthal 0.9.0 with major improvements is around the corner
- Bayadera = Bayes + Clojure + GPU (slides for my Bob Konferenz 2017 talk)