# \#gpu

**URL:** https://discourse.julialang.org/tag/gpu/40.md

[Latest](https://discourse.julialang.org/latest.md) · [Categories](https://discourse.julialang.org/categories.md) · [Tags](https://discourse.julialang.org/tags.md)

---

## [Blog detailing my journey learning Julia and ML](https://discourse.julialang.org/t/blog-detailing-my-journey-learning-julia-and-ml/139614)

<div class="topic-metadata">

**Author:** [@jamesr137](https://discourse.julialang.org/u/jamesr137)\
**Replies:** 4\
**Last updated:** [September 23, 2026, 9:39pm UTC](https://discourse.julialang.org/t/blog-detailing-my-journey-learning-julia-and-ml/139614 "2026-09-23T21:39:20Z")

</div>

Hi all. I don’t post on here very often, considering that I’m just a hobbyist and not a highly trained professional like most folks on here, but I am a Julia enthusiast, and so when I can I like to share what I’ve worked…

---

## ["Fixed iteration" DiffEq solvers on the GPU?](https://discourse.julialang.org/t/fixed-iteration-diffeq-solvers-on-the-gpu/139357)

<div class="topic-metadata">

**Author:** [@jl\_enthusiast](https://discourse.julialang.org/u/jl_enthusiast)\
**Replies:** 2\
**Last updated:** [September 11, 2026, 2:37pm UTC](https://discourse.julialang.org/t/fixed-iteration-diffeq-solvers-on-the-gpu/139357 "2026-09-11T14:37:32Z")

</div>

Hey, I am currently trying to (re)write some old hobby project into Julia (related to raytracing) and want to rely on the DiffEq solver interface, ideally inside a KernelAbstractions.jl kernel (as I am performing a lot …

---

## [Implementing GPU Multi-Stream Capabilities to Dagger.jl](https://discourse.julialang.org/t/implementing-gpu-multi-stream-capabilities-to-dagger-jl/139013)

<div class="topic-metadata">

**Author:** [@camarav](https://discourse.julialang.org/u/camarav)\
**Replies:** 1\
**Last updated:** [August 27, 2026, 6:45pm UTC](https://discourse.julialang.org/t/implementing-gpu-multi-stream-capabilities-to-dagger-jl/139013 "2026-08-27T18:45:30Z")

</div>

Hello everyone! this post will be interesting especially for those who enjoy using 100% of what your computer has to offer, this summer I was part of GSoC and worked to implement multi-streams capabilities for GPUs in Da…

---

## [Inverting ComplexF32 with Metal.jl throws an error](https://discourse.julialang.org/t/inverting-complexf32-with-metal-jl-throws-an-error/137991)

<div class="topic-metadata">

**Author:** [@phx](https://discourse.julialang.org/u/phx)\
**Replies:** 2\
**Last updated:** [July 7, 2026, 11:50pm UTC](https://discourse.julialang.org/t/inverting-complexf32-with-metal-jl-throws-an-error/137991 "2026-07-07T23:50:02Z")

</div>

Hi everyone! I’m working with Metal.jl on an Apple Silicon GPU and I’ve encountered the following issue. When computing the inverse of ComplexF32 numbers, some Float64 numbers seem to sneak in and cause Metal.jl to throw…

---

## [KernelForge.jl — High-performance portable GPU primitives for arbitrary types and operators](https://discourse.julialang.org/t/kernelforge-jl-high-performance-portable-gpu-primitives-for-arbitrary-types-and-operators/135780)

<div class="topic-metadata">

**Author:** [@epilliat](https://discourse.julialang.org/u/epilliat)\
**Replies:** 13\
**Last updated:** [June 16, 2026, 3:31pm UTC](https://discourse.julialang.org/t/kernelforge-jl-high-performance-portable-gpu-primitives-for-arbitrary-types-and-operators/135780 "2026-06-16T15:31:07Z")

</div>

I’m happy to announce two related packages for high-performance GPU computing in Julia: KernelForge.jl — high-level GPU primitives (mapreduce, scan, matvec, search, vectorized copy) with performance competitive with ve…

---

## [\[ANN\] GPUEnv.jl – Dynamically created overlay GPU backend environments for testing and benchmarking](https://discourse.julialang.org/t/ann-gpuenv-jl-dynamically-created-overlay-gpu-backend-environments-for-testing-and-benchmarking/137192)

<div class="topic-metadata">

**Author:** [@hakkelt](https://discourse.julialang.org/u/hakkelt)\
**Replies:** 0\
**Last updated:** [May 19, 2026, 2:53pm UTC](https://discourse.julialang.org/t/ann-gpuenv-jl-dynamically-created-overlay-gpu-backend-environments-for-testing-and-benchmarking/137192 "2026-05-19T14:53:39Z")

</div>

Hi everyone! I’m excited to announce GPUEnv.jl, a new utility package designed to make life easier for developers maintaining Julia packages that support multiple GPU backends. The Problem If your package supports CUDA…

---

## [\[ANN\] cuTile.jl v0.3 + webinar](https://discourse.julialang.org/t/ann-cutile-jl-v0-3-webinar/136988)

<div class="topic-metadata">

**Author:** [@maleadt](https://discourse.julialang.org/u/maleadt)\
**Replies:** 0\
**Last updated:** [May 5, 2026, 2:04pm UTC](https://discourse.julialang.org/t/ann-cutile-jl-v0-3-webinar/136988 "2026-05-05T14:04:03Z")

</div>

I’ve just tagged cuTile.jl v0.3, featuring: CUDA.jl integration. Launching a cuTile kernel is now just @cuda backend=cuTile .... Better performance. We now match or outperform NVIDIA’s cuTile Python on every benchmark …

---

## [Argmax mapreduce on GPU](https://discourse.julialang.org/t/argmax-mapreduce-on-gpu/134971)

<div class="topic-metadata">

**Author:** [@noetheriankoala](https://discourse.julialang.org/u/noetheriankoala)\
**Replies:** 6\
**Last updated:** [April 21, 2026, 9:35am UTC](https://discourse.julialang.org/t/argmax-mapreduce-on-gpu/134971 "2026-04-21T09:35:03Z")

</div>

Hello! I am trying to quickly compute \\text{argmax}\_{\\substack{1 \\leq s \\leq k\\\\ k+1 \\leq t \\leq n}} A\_{s,t} + (1-\\ell\_s)(1 + \\ell\_t) I do this on the CPU with the following code. f = ((i, j),) -\> (i, j, A\[i, j\]^2 + …

---

## [\[ANN\] OptimalControl.jl v2.0.0](https://discourse.julialang.org/t/ann-optimalcontrol-jl-v2-0-0/136599)

<div class="topic-metadata">

**Author:** [@ocots](https://discourse.julialang.org/u/ocots)\
**Replies:** 7\
**Last updated:** [April 8, 2026, 8:48am UTC](https://discourse.julialang.org/t/ann-optimalcontrol-jl-v2-0-0/136599 "2026-04-08T08:48:32Z")

</div>

It is a pleasure to announce the new major release of OptimalControl.jl (v2.0.0). Designed to solve optimal control problems on ODEs, the package features: a friendly DSL both direct (optimisation) and indirect (aka. s…

---

## [Reactant.jl + Enzyme: ~10 min compilation overhead triggered by hidden-to-hidden Dense layers](https://discourse.julialang.org/t/reactant-jl-enzyme-10-min-compilation-overhead-triggered-by-hidden-to-hidden-dense-layers/136374)

<div class="topic-metadata">

**Author:** [@Yuan-Ru-Lin](https://discourse.julialang.org/u/Yuan-Ru-Lin)\
**Replies:** 1\
**Last updated:** [March 27, 2026, 11:22am UTC](https://discourse.julialang.org/t/reactant-jl-enzyme-10-min-compilation-overhead-triggered-by-hidden-to-hidden-dense-layers/136374 "2026-03-27T11:22:11Z")

</div>

I’ve been investigating compilation times with Reactant.jl + Lux + AutoEnzyme() on an NVIDIA GPU and found a reproducible jump in TTFT (Time-To-First-Training) when a model includes hidden-to-hidden Dense layers. Minima…

---

## [\[ANN\] JACC.jl v1.0 now available for 100% portable CPU/GPU code](https://discourse.julialang.org/t/ann-jacc-jl-v1-0-now-available-for-100-portable-cpu-gpu-code/136231)

<div class="topic-metadata">

**Author:** [@williamfgc](https://discourse.julialang.org/u/williamfgc)\
**Replies:** 4\
**Last updated:** [March 17, 2026, 4:31pm UTC](https://discourse.julialang.org/t/ann-jacc-jl-v1-0-now-available-for-100-portable-cpu-gpu-code/136231 "2026-03-17T16:31:21Z")

</div>

We are pleased to announce the first stable release of JACC.jl v1.0 - Julia for ACCelerators https://github.com/JuliaGPU/JACC.jl - feel free to star the repo. What’s different? :white\_check\_mark: Single-source Julia cod…

---

## [\[ANN\] cuTile.jl: Tile-based GPU programming for CUDA GPUs](https://discourse.julialang.org/t/ann-cutile-jl-tile-based-gpu-programming-for-cuda-gpus/136011)

<div class="topic-metadata">

**Author:** [@maleadt](https://discourse.julialang.org/u/maleadt)\
**Replies:** 4\
**Last updated:** [March 4, 2026, 4:21pm UTC](https://discourse.julialang.org/t/ann-cutile-jl-tile-based-gpu-programming-for-cuda-gpus/136011 "2026-03-04T16:21:45Z")

</div>

I’m happy to announce an initial release of cuTile.jl, a new JuliaGPU package that makes it possible to program (Blackwell) NVIDIA GPUs using a tile-based abstraction by NVIDIA. This simplifies writing kernels, because y…

---

## [\[ANN\] AcceleratedKernels.jl - Cross-architecture parallel algorithms for Julia's GPU backends](https://discourse.julialang.org/t/ann-acceleratedkernels-jl-cross-architecture-parallel-algorithms-for-julias-gpu-backends/119698)

<div class="topic-metadata">

**Author:** [@anicusan](https://discourse.julialang.org/u/anicusan)\
**Replies:** 17\
**Last updated:** [March 3, 2026, 6:28pm UTC](https://discourse.julialang.org/t/ann-acceleratedkernels-jl-cross-architecture-parallel-algorithms-for-julias-gpu-backends/119698 "2026-03-03T18:28:45Z")

</div>

Hi everyone, I’m excited to announce the first public release of AcceleratedKernels.jl, a high-performance library of parallel algorithm building blocks for the Julia ecosystem, targeting: Multithreaded CPUs, and GPUs…

---

## [Multi-GPU inference in Flux.jl](https://discourse.julialang.org/t/multi-gpu-inference-in-flux-jl/135210)

<div class="topic-metadata">

**Author:** [@Chrysoberyl](https://discourse.julialang.org/u/Chrysoberyl)\
**Replies:** 2\
**Last updated:** [January 24, 2026, 12:07am UTC](https://discourse.julialang.org/t/multi-gpu-inference-in-flux-jl/135210 "2026-01-24T00:07:26Z")

</div>

Flux allows for parallel training with multiple GPUs: GPU Support · Flux In my use case, I need to run inference of a single model on multiple GPUs. Is there a way to load balance inference calls to the model so all GPU…

---

## [Cartesian Indices Sequence on the GPU](https://discourse.julialang.org/t/cartesian-indices-sequence-on-the-gpu/134998)

<div class="topic-metadata">

**Author:** [@Chrysoberyl](https://discourse.julialang.org/u/Chrysoberyl)\
**Replies:** 0\
**Last updated:** [January 12, 2026, 8:24am UTC](https://discourse.julialang.org/t/cartesian-indices-sequence-on-the-gpu/134998 "2026-01-12T08:24:05Z")

</div>

I have an array of integers i, e.g. \[3,1,2\], and I want to map them to Cartesian indices \[(1, 3), (2, 1), (3, 2)\]. On the CPU, the easy way of creating this array is CartesianIndex.(enumerate(i)). However this does not …

---

## [Using Interpolations.jl on CuVector](https://discourse.julialang.org/t/using-interpolations-jl-on-cuvector/60409)

<div class="topic-metadata">

**Author:** [@wsshin](https://discourse.julialang.org/u/wsshin)\
**Replies:** 6\
**Last updated:** [January 11, 2026, 11:29am UTC](https://discourse.julialang.org/t/using-interpolations-jl-on-cuvector/60409 "2026-01-11T11:29:58Z")

</div>

I am feeding a CuVector to an interpolator created with Interpolations.jl and wanting to get the output as a CuVector, but I am not sure how to achieve this. Here is what I did. I create an interpolator using sampling …

---

## [Feedback wanted: GPU-accelerated 2D elastic wave simulation (staggered-grid FD) in Julia](https://discourse.julialang.org/t/feedback-wanted-gpu-accelerated-2d-elastic-wave-simulation-staggered-grid-fd-in-julia/134869)

<div class="topic-metadata">

**Author:** [@Wuheng10086](https://discourse.julialang.org/u/Wuheng10086)\
**Replies:** 10\
**Last updated:** [January 10, 2026, 3:16pm UTC](https://discourse.julialang.org/t/feedback-wanted-gpu-accelerated-2d-elastic-wave-simulation-staggered-grid-fd-in-julia/134869 "2026-01-10T15:16:09Z")

</div>

Hi everyone, I’m currently working on a GPU-accelerated 2D elastic wave simulation code in Julia, based on staggered-grid finite-difference discretization. The original motivation is seismic forward modeling, but I’m …

---

## [GPU support for Turing modeling with system of ODEs](https://discourse.julialang.org/t/gpu-support-for-turing-modeling-with-system-of-odes/77410)

<div class="topic-metadata">

**Author:** [@vembha](https://discourse.julialang.org/u/vembha)\
**Replies:** 8\
**Last updated:** [January 5, 2026, 7:38am UTC](https://discourse.julialang.org/t/gpu-support-for-turing-modeling-with-system-of-odes/77410 "2026-01-05T07:38:43Z")

</div>

Hello, I am trying to perform Bayesian analysis on a Turing model with an ecological ODE system embedded; consider it to be a complex variant of a Lotka-Volterra model. As of now, the code is running perfectly fine with…

---

## [Large ODE Solver for Metal.jl](https://discourse.julialang.org/t/large-ode-solver-for-metal-jl/134769)

<div class="topic-metadata">

**Author:** [@Gavin-Rockwood](https://discourse.julialang.org/u/Gavin-Rockwood)\
**Replies:** 11\
**Last updated:** [December 29, 2025, 2:49am UTC](https://discourse.julialang.org/t/large-ode-solver-for-metal-jl/134769 "2025-12-29T02:49:29Z")

</div>

Is there any implementation for ODE solving using Metal.jl backends? I know there is DiffEqGPU, but the metal support is only for ensemble problems. I cannot for instance do f(u,p,t) = A\*u tspan = (0.0f0, 1.0f0) prob = …

---

## [Failed to precompile CUDA](https://discourse.julialang.org/t/failed-to-precompile-cuda/134255)

<div class="topic-metadata">

**Author:** [@WuSiren](https://discourse.julialang.org/u/WuSiren)\
**Replies:** 14\
**Last updated:** [December 16, 2025, 10:59pm UTC](https://discourse.julialang.org/t/failed-to-precompile-cuda/134255 "2025-12-16T22:59:21Z")

</div>

julia\> using CUDA ┌ Warning: Circular dependency detected. Precompilation will be skipped for: │ SparseArraysExt \[85068d23-b5fb-53f1-8204-05c2aba6942f\] │ AtomixCUDAExt \[13011619-4c7c-5ef0-948f-5fc81565cd05\] │ Linea…

---

## [Block/Tile-Based GPU Programming (not Scratch)](https://discourse.julialang.org/t/block-tile-based-gpu-programming-not-scratch/127731)

<div class="topic-metadata">

**Author:** [@NonDairyNeutrino](https://discourse.julialang.org/u/NonDairyNeutrino)\
**Replies:** 3\
**Last updated:** [December 8, 2025, 5:20am UTC](https://discourse.julialang.org/t/block-tile-based-gpu-programming-not-scratch/127731 "2025-12-08T05:20:14Z")

</div>

I just found that there’s this new (at least to me) GPU programming framework called “Block/Tile-Based”, whether it’s “block” or “tile” seems to depend on who you ask. The three I’ve just seen are OpenAI’s Triton, NVIDI…

---

## [\[San Francisco, CA\] Performance Engineer - GPU Atmospheric Modeling](https://discourse.julialang.org/t/san-francisco-ca-performance-engineer-gpu-atmospheric-modeling/133858)

<div class="topic-metadata">

**Author:** [@giordano](https://discourse.julialang.org/u/giordano)\
**Replies:** 2\
**Last updated:** [November 14, 2025, 3:48am UTC](https://discourse.julialang.org/t/san-francisco-ca-performance-engineer-gpu-atmospheric-modeling/133858 "2025-11-14T03:48:00Z")

</div>

Aeolus Labs are looking for a performance engineer building a next-generation, differentiable atmospheric model for hurricane science and weather forecasting. Model will be based on Oceananigans.jl, experience with the …

---

## [\[ANN\] Raycore.jl: High-Performance Ray Tracing for CPU and GPU](https://discourse.julialang.org/t/ann-raycore-jl-high-performance-ray-tracing-for-cpu-and-gpu/133776)

<div class="topic-metadata">

**Author:** [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Replies:** 11\
**Last updated:** [November 13, 2025, 9:39am UTC](https://discourse.julialang.org/t/ann-raycore-jl-high-performance-ray-tracing-for-cpu-and-gpu/133776 "2025-11-13T09:39:56Z")

</div>

I’m excited to announce Raycore.jl, a high-performance ray-triangle intersection engine with BVH acceleration for both CPU and GPU execution in Julia. Raycore will power a new raytracing backend for Makie, bringing phot…

---

## [Array addition of oneAPI.jl slower](https://discourse.julialang.org/t/array-addition-of-oneapi-jl-slower/133663)

<div class="topic-metadata">

**Author:** [@raman\_kumar](https://discourse.julialang.org/u/raman_kumar)\
**Replies:** 10\
**Last updated:** [November 10, 2025, 8:30pm UTC](https://discourse.julialang.org/t/array-addition-of-oneapi-jl-slower/133663 "2025-11-10T20:30:05Z")

</div>

Why oneAPI.jl array addition is slow? julia\> using BenchmarkTools, oneAPI julia\> c = rand(100,100); julia\> @btime $c.+1 4.950 μs (3 allocations: 78.21 KiB) julia\> a = oneArray(rand(100,100)); julia\> @btime $a.+1 4…

---

## [Batched Matrix Multiply](https://discourse.julialang.org/t/batched-matrix-multiply/42332)

<div class="topic-metadata">

**Author:** [@bmit](https://discourse.julialang.org/u/bmit)\
**Replies:** 12\
**Last updated:** [October 30, 2025, 8:22am UTC](https://discourse.julialang.org/t/batched-matrix-multiply/42332 "2025-10-30T08:22:15Z")

</div>

I’d like to be able to be able to broadcast matrix multiplication across multidimensional arrays similar to the following: a = rand(4,3,2) b = rand(3,4,2) a .\* b # expect a (4,4,2) array, but instead errors I underst…

---

## [Improving performance of CUDA GPU kernel: LU factorization](https://discourse.julialang.org/t/improving-performance-of-cuda-gpu-kernel-lu-factorization/132971)

<div class="topic-metadata">

**Author:** [@Leo\_I](https://discourse.julialang.org/u/Leo_I)\
**Replies:** 17\
**Last updated:** [October 28, 2025, 10:37am UTC](https://discourse.julialang.org/t/improving-performance-of-cuda-gpu-kernel-lu-factorization/132971 "2025-10-28T10:37:38Z")

</div>

I am learning GPU programming via CUDA.jl. I wish to implement an efficient LU factorization for matrices over a finite field (I implemented it as UInt8/UInt16/... with operations + mod and \* mod). For the sake of simpl…

---

## [Postdoc offer: graph algorithms on GPU with Julia](https://discourse.julialang.org/t/postdoc-offer-graph-algorithms-on-gpu-with-julia/133465)

<div class="topic-metadata">

**Author:** [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Replies:** 0\
**Last updated:** [October 27, 2025, 5:34pm UTC](https://discourse.julialang.org/t/postdoc-offer-graph-algorithms-on-gpu-with-julia/133465 "2025-10-27T17:34:59Z")

</div>

Hi all :waving\_hand: I’m recruiting a postdoctoral researcher on a fully funded 2-year contract. The topic is developing and implementing new parallel graph algorithms in Julia, with applications to data-driven transpor…

---

## [Error in oneAPI.jl tests](https://discourse.julialang.org/t/error-in-oneapi-jl-tests/133252)

<div class="topic-metadata">

**Author:** [@raman\_kumar](https://discourse.julialang.org/u/raman_kumar)\
**Replies:** 3\
**Last updated:** [October 18, 2025, 9:01pm UTC](https://discourse.julialang.org/t/error-in-oneapi-jl-tests/133252 "2025-10-18T21:01:34Z")

</div>

I want to use oneAPI.jl as i have Intel GPU integrated in CPU: 14 × Intel(R) Core™ Ultra 7 155U. I am using Manjaro Linux (x86\_64-linux-gnu). On running tests i got errors. pkg\> test oneAPI ▶ Error output Is there any…

---

## [SciMLSensitivity fails on GPU?](https://discourse.julialang.org/t/scimlsensitivity-fails-on-gpu/132575)

<div class="topic-metadata">

**Author:** [@Iris\_Allevi](https://discourse.julialang.org/u/Iris_Allevi)\
**Replies:** 5\
**Last updated:** [September 22, 2025, 9:37pm UTC](https://discourse.julialang.org/t/scimlsensitivity-fails-on-gpu/132575 "2025-09-22T21:37:51Z")

</div>

Hi all, I’m running into a problem when trying to compute gradients of an ODE solution on GPU (with Metal.jl) using SciMLSensitivity (SciMLSensitivity: Automatic Differentiation and Adjoints for (Differential) Equation …

---

## [Custom (NumPy style) broadcasting rule that avoids iterating over elements (for GPU-acceleration)](https://discourse.julialang.org/t/custom-numpy-style-broadcasting-rule-that-avoids-iterating-over-elements-for-gpu-acceleration/131515)

<div class="topic-metadata">

**Author:** [@TimHargreaves](https://discourse.julialang.org/u/TimHargreaves)\
**Replies:** 10\
**Last updated:** [August 24, 2025, 7:48pm UTC](https://discourse.julialang.org/t/custom-numpy-style-broadcasting-rule-that-avoids-iterating-over-elements-for-gpu-acceleration/131515 "2025-08-24T19:48:57Z")

</div>

Minimal Example As a minimal example, suppose that I have the following two structs defined, struct Foo{T, M\<:AbstractMatrix{T}} A::M B::M end struct Bar{T, M\<:AbstractMatrix{T}} C::M foo::Foo{T, M} end…

[Next page](https://discourse.julialang.org/tag/gpu/40.md?match_all_tags=true&page=1&tags%5B%5D=gpu)
