# Looking for MG solver for sparse matrix on GPU

**URL:** <https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347>\
**Category:** Modelling & Simulations\
**Tags:** cuda, pde\
**Created:** [May 18, 2021, 9:44am UTC](https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347 "2021-05-18T09:44:13Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ludovic\_Dumoulin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ludovic_dumoulin/32/22414_2.png) [@Ludovic\_Dumoulin](https://discourse.julialang.org/u/Ludovic_Dumoulin)\
**Post date:** [May 18, 2021, 9:44am UTC](https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347/1 "2021-05-18T09:44:13Z")

</div>

Hey,

I’m looking for an algebraic multigrid solver that run on GPU. The AlgebraicMultigrid.jl package is not compatible with CUDA and I can’t find other package. I could use the [AMGX library](https://github.com/NVIDIA/AMGX) in Cuda and C++ but then I’ll have to rewrite a large part of my code.

Does somebody know a julia package for this ?

Thank you

---

<div class="post-metadata">

**Author:** ![LaurentPlagne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/laurentplagne/32/10103_2.png) [@LaurentPlagne](https://discourse.julialang.org/u/LaurentPlagne)\
**Post date:** [May 18, 2021, 10:30am UTC](https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347/2 "2021-05-18T10:30:23Z")

</div>

I am not aware of a Julia package for this. You can call the C++ solver from Julia. I have implemented a baby GMG in Julia but I guess that your AMG choice is strongly constrained.

---

<div class="post-metadata">

**Author:** ![LaurentPlagne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/laurentplagne/32/10103_2.png) [@LaurentPlagne](https://discourse.julialang.org/u/LaurentPlagne)\
**Post date:** [May 18, 2021, 12:01pm UTC](https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347/3 "2021-05-18T12:01:39Z")

</div>

On juliahub I found AMGX.jl

> **[GitHub - JuliaGPU/AMGX.jl](https://github.com/JuliaGPU/AMGX.jl)**
>
> Contribute to JuliaGPU/AMGX.jl development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![Ludovic\_Dumoulin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ludovic_dumoulin/32/22414_2.png) [@Ludovic\_Dumoulin](https://discourse.julialang.org/u/Ludovic_Dumoulin)\
**Post date:** [May 18, 2021, 12:16pm UTC](https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347/4 "2021-05-18T12:16:40Z")

</div>

OMG ! Thank you so much ! I don’t know why I did not try to type `AMGX.jl` !

---

<div class="post-metadata">

**Author:** ![Niceno](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/niceno/32/29648_2.png) [@Niceno](https://discourse.julialang.org/u/Niceno)\
**Post date:** [October 15, 2021, 7:46am UTC](https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347/5 "2021-10-15T07:46:16Z")

</div>

Hi Ludovic,

Did you try to use the AMGX.jl? Your impressions, if you could share?

Cheers

---

<div class="post-metadata">

**Author:** ![Ludovic\_Dumoulin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ludovic_dumoulin/32/22414_2.png) [@Ludovic\_Dumoulin](https://discourse.julialang.org/u/Ludovic_Dumoulin)\
**Post date:** [October 20, 2021, 11:46am UTC](https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347/6 "2021-10-20T11:46:21Z")

</div>

Hi Niceno,

I did not use this package, I changed the description of the problem and now use a simple iterative solver.

Sorry,

Best

---

<div class="post-metadata">

**Author:** ![Niceno](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/niceno/32/29648_2.png) [@Niceno](https://discourse.julialang.org/u/Niceno)\
**Post date:** [October 20, 2021, 12:16pm UTC](https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347/7 "2021-10-20T12:16:56Z")

</div>

But still something on GPUs?

---

<div class="post-metadata">

**Author:** ![Ludovic\_Dumoulin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ludovic_dumoulin/32/22414_2.png) [@Ludovic\_Dumoulin](https://discourse.julialang.org/u/Ludovic_Dumoulin)\
**Post date:** [October 21, 2021, 8:24am UTC](https://discourse.julialang.org/t/looking-for-mg-solver-for-sparse-matrix-on-gpu/61347/8 "2021-10-21T08:24:27Z")

</div>

yes, I just made a very simple iterative Jacobi solver, nothing optimized but it is ok for me now.
