# PackageCompiler fails to create app for MadNLPGPU + ExaModels (CUDSS linear solver)

**URL:** https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998
**Category:** Optimization (Mathematical)
**Tags:** gpu, optimization, package-compiler
**Created:** [February 17, 2025, 3:26pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998 "2025-02-17T15:26:17Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![KSepetanc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ksepetanc/32/10841_2.png) [@KSepetanc](https://discourse.julialang.org/u/KSepetanc)
#### Post date: [February 17, 2025, 3:26pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/1 "2025-02-17T15:26:17Z")

</div>

I can not create “app” with PackageCompiler even for simplest GPU optimization with ExaModels+MadNLPGPU running cuDSS. I’ve made full MWE project with package to be built in attempt to help this to debug. Compiling does not pass with either LTS or release. It does not pass with `compile=all` command. Different error message appears if run to compile with `--compile=all --strip-metadata --strip-ir, filter_stdlibs=true` (maybe more meaningful than the one below; just swap two commands in setup.jl). Without compile=all, strip and filter commands, the compile passes but fails at runtime (calls multiple instances of julia.exe until it consumes all free RAM).

I attach MWE with toml’s for Julia 1.10.8 and 1.11.3. To run just set root dir as work dir and run setup.jl . I think this would be a big deal if this is solved. We need some kind of a test for this IMO.

[mwe.7z](https://mega.nz/file/3T5T0CJR#AAkfak9k3-RBtzc9EPOnb8mvQshNv20aJnZdQkY2i4c) on mega.nz (Uploading compressed folders on discourse is not allowed so I uploaded at free host.)

I am tagging some people that could be interested: `@maleadt` , `@sshin23`, `@frapac`, `@amontoison`, `@odow`, `@sdanisch`. Please ignore if you feel inappropriately tagged. I tagged mostly leaders of relevant packages. (Edit(odow): I’ve removed the explicit tags.)

Error log using Julia 1.10.8 and `compile=all`.

> ⠸ [05m:46s] PackageCompiler: compiling nonincremental system imageimmarg operand has non-immediate parameter  
> ⢰ [05m:46s] PackageCompiler: compiling nonincremental system image %value\_phi = phi i8 [%guard\_res8, %guard\_exit6], [%guard\_res15, %guard\_exit13]  
> immarg operand has non-immediate parameter  
> %value\_phi = phi i32 [%guard\_res5, %guard\_exit4], [%guard\_res12, %guard\_exit10]  
> call void @llvm.nvvm.cp.async.wait.group(i32 %value\_phi) [“jl\_roots”({} addrs⣠ [05m:46s] PackageCompiler: compiling nonincremental system image%28 = call \<2 x i64\> @llvm.x86.aesni.aeskeygenassist(\<2 x i64\> %unbox, i8 zeroext %value\_phi) [“jl\_roots”({} addrspace(10)\* %44)], !dbg !125496  
> ⣄ [05m:47s] PackageCompiler: compiling nonincremental system image%16) ], !dbg !187547  
> ⠙ [05m:47s] PackageCompiler: compiling nonincremental system imageLLVM ERROR: Broken module found, compilation aborted!
> 
> [11476] signal (6.-6): Aborted  
> in expression starting at none:0  
> Allocations: 1520472196 (Pool: 1519649926; Big: 822270); GC: 645  
> ✖ [05m:48s] PackageCompiler: compiling nonincremental system image  
> ERROR: LoadError: failed process: Process(`/home/karlo/.julia/juliaup/julia-1.10.8+0.x64.linux.gnu/bin/julia --color=yes --startup-file=no --pkgimages=no '--cpu-target=generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)' --compile=all --sysimage=/tmp/jl_eAnXJI/sys.so --project=/home/karlo/Desktop/mwe/gpu_opt.jl --output-o=/tmp/jl_EbIb0NGBid-o.a /tmp/jl_EN2JafOnKl`, ProcessSignaled(6)) [0]
> 
> Stacktrace:  
> [1] pipeline\_error  
> @ ./process.jl:565 [inlined]  
> [2] run(::Cmd; wait::Bool)  
> @ Base ./process.jl:480  
> [3] run  
> @ ./process.jl:477 [inlined]  
> [4] #20  
> @ ~/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:157 [inlined]  
> [5] spin(f::PackageCompiler.var"#20#22"{Cmd}, s::PackageCompiler.TerminalSpinners.Spinner{Base.TTY})  
> @ PackageCompiler.TerminalSpinners ~/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:164  
> [6] macro expansion  
> @ ~/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:157 [inlined]  
> [7] create\_sysimg\_object\_file(object\_file::String, packages::Vector{String}, packages\_sysimg::Set{Base.PkgId}; project::String, base\_sysimage::String, precompile\_execution\_file::Vector{String}, precompile\_statements\_file::Vector{String}, cpu\_target::String, script::Nothing, sysimage\_build\_args::Cmd, extra\_precompiles::String, incremental::Bool, import\_into\_main::Bool)  
> @ PackageCompiler ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:130  
> [8] create\_sysimg\_object\_file  
> @ ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:319 [inlined]  
> [9] create\_sysimage(packages::Vector{String}; sysimage\_path::String, project::String, precompile\_execution\_file::String, precompile\_statements\_file::Vector{String}, incremental::Bool, filter\_stdlibs::Bool, cpu\_target::String, script::Nothing, sysimage\_build\_args::Cmd, include\_transitive\_dependencies::Bool, base\_sysimage::Nothing, julia\_init\_c\_file::Nothing, julia\_init\_h\_file::Nothing, version::Nothing, soname::Nothing, compat\_level::String, extra\_precompiles::String, import\_into\_main::Bool)  
> @ PackageCompiler ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:639  
> [10] create\_sysimage  
> @ ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:527 [inlined]  
> [11] create\_app(package\_dir::String, app\_dir::String; executables::Nothing, precompile\_execution\_file::String, precompile\_statements\_file::Vector{String}, incremental::Bool, filter\_stdlibs::Bool, force::Bool, c\_driver\_program::String, cpu\_target::String, include\_lazy\_artifacts::Bool, sysimage\_build\_args::Cmd, include\_transitive\_dependencies::Bool, include\_preferences::Bool, script::Nothing)  
> @ PackageCompiler ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:886  
> [12] top-level scope  
> @ ~/Desktop/mwe/setup.jl:9

versioninfo()

```julia

Julia Version 1.10.8
Commit 4c16ff44be8 (2025-01-22 10:06 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 32 × AMD Ryzen 9 5950X 16-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 32 virtual cores)

```

> julia\> MadNLPGPU.CUDA.versioninfo()  
> CUDA runtime 12.6, artifact installation  
> CUDA driver 12.4  
> NVIDIA driver 550.120.0
> 
> CUDA libraries:
> 
> - CUBLAS: 12.6.4
> - CURAND: 10.3.7
> - CUFFT: 11.3.0
> - CUSOLVER: 11.7.1
> - CUSPARSE: 12.5.4
> - CUPTI: 2024.3.2 (API 24.0.0)
> - NVML: 12.0.0+550.120
> 
> Julia packages:
> 
> - CUDA: 5.6.1
> - CUDA\_Driver\_jll: 0.10.4+0
> - CUDA\_Runtime\_jll: 0.15.5+0
> 
> Toolchain:
> 
> - Julia: 1.10.8
> - LLVM: 15.0.7
> 
> 1 device:  
> 0: NVIDIA GeForce RTX 2070 (sm\_75, 7.388 GiB / 8.000 GiB available)

---

<div class="post-metadata">

### Author: ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)
#### Post date: [February 17, 2025, 6:40pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/2 "2025-02-17T18:40:24Z")

</div>

> [@KSepetanc](#):
>
> simplest GPU optimization with ExaModels+MadNLPGPU running cuDSS

I’d say that this Is definitely not simple! It doesn’t surprise me that PackageCompiler struggles.

I don’t think you’ll get much help on Discourse. Perhaps open an issue: [GitHub - JuliaLang/PackageCompiler.jl: Compile your Julia Package](https://github.com/JuliaLang/PackageCompiler.jl)

---

<div class="post-metadata">

### Author: ![KSepetanc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ksepetanc/32/10841_2.png) [@KSepetanc](https://discourse.julialang.org/u/KSepetanc)
#### Post date: [February 17, 2025, 7:31pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/3 "2025-02-17T19:31:14Z")

</div>

I have created an issue on PackageCompiler [#1030](https://github.com/JuliaLang/PackageCompiler.jl/issues/1030).

---

<div class="post-metadata">

### Author: ![Benny](https://avatars.discourse-cdn.com/v4/letter/b/49beb7/32.png) [@Benny](https://discourse.julialang.org/u/Benny)
#### Post date: [February 17, 2025, 8:09pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/4 "2025-02-17T20:09:52Z")

</div>

> [@odow](#):
>
> It doesn’t surprise me that PackageCompiler struggles.

Are there known or roughly known limitations to PackageCompiler’s ability to compile a package? Is it equivalent to limitations of sysimages?

---

<div class="post-metadata">

### Author: ![KSepetanc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ksepetanc/32/10841_2.png) [@KSepetanc](https://discourse.julialang.org/u/KSepetanc)
#### Post date: [February 21, 2025, 1:28pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/5 "2025-02-21T13:28:37Z")

</div>

I have tried to narrow down MWE. Only latest PackageCompiler and CUDA are installed on Julia 1.11.3.

@maleadt do you have suggestions? Should I open an issue on CUDA.jl?

Generating sysimage of only CUDA fails too.

> create\_sysimage([“CUDA”], sysimage\_path=“image.so” , sysimage\_build\_args=`--compile=all`)

> Downloaded artifact: mingw-w64  
> Precompiling Pkg…  
> 23 dependencies successfully precompiled in 28 seconds  
> Precompiling CUDA\_Driver\_jll…  
> 3 dependencies successfully precompiled in 1 seconds. 23 already precompiled.  
> Precompiling project…  
> 78 dependencies successfully precompiled in 60 seconds. 26 already precompiled.  
> ⠋ [10m:09s] PackageCompiler: compiling incremental system imageLLVM ERROR: Cannot select: intrinsic %llvm.nvvm.membar.sys
> 
> [38512] signal 22: SIGABRT  
> in expression starting at none:0  
> crt\_sig\_handler at C:/workdir/src\signals-win.c:95  
> raise at C:\WINDOWS\System32\msvcrt.dll (unknown line)  
> abort at C:\WINDOWS\System32\msvcrt.dll (unknown line)  
> \_ZN4llvm18report\_fatal\_errorERKNS\_5TwineEb at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm16SelectionDAGISel15CannotYetSelectEPNS\_6SDNodeE at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm16SelectionDAGISel16SelectCodeCommonEPNS\_6SDNodeEPKhj at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN12\_GLOBAL\_\_N\_115X86DAGToDAGISel6SelectEPN4llvm6SDNodeE at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm16SelectionDAGISel22DoInstructionSelectionEv at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm16SelectionDAGISel17CodeGenAndEmitDAGEv at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm16SelectionDAGISel16SelectBasicBlockENS\_14ilist\_iteratorINS\_12ilist\_detail12node\_optionsINS\_11InstructionELb0ELb0EvEELb0ELb1EEES6\_Rb at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS\_8FunctionE at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS\_15MachineFunctionE at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN12\_GLOBAL\_\_N\_115X86DAGToDAGISel20runOnMachineFunctionERN4llvm15MachineFunctionE at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm19MachineFunctionPass13runOnFunctionERNS\_8FunctionE at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm13FPPassManager13runOnFunctionERNS\_8FunctionE at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm13FPPassManager11runOnModuleERNS\_6ModuleE at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> \_ZN4llvm6legacy15PassManagerImpl3runERNS\_6ModuleE at C:\Users\karlo.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\libLLVM-16jl.dll (unknown line)  
> add\_output\_impl at C:/workdir/src\aotcompile.cpp:1171  
> add\_output\<jl\_dump\_native\_impl(void\*, char const\*, char const\*, char const\*, char const\*, ios\_t\*, ios\_t\*, jl\_emission\_params\_t\*)::\<lambda(llvm::Module&)\> \> at C:/workdir/src\aotcompile.cpp:1407  
> operator()\<jl\_dump\_native\_impl(void\*, char const\*, char const\*, char const\*, char const\*, ios\_t\*, ios\_t\*, jl\_emission\_params\_t\*)::\<lambda(llvm::Module&)\> \> at C:/workdir/src\aotcompile.cpp:1647 [inlined]  
> jl\_dump\_native\_impl at C:/workdir/src\aotcompile.cpp:1793  
> ijl\_write\_compiler\_output at C:/workdir/src\precompile.c:177  
> ijl\_atexit\_hook at C:/workdir/src\init.c:285  
> jl\_repl\_entrypoint at C:/workdir/src\jlapi.c:1060  
> mainCRTStartup at C:/workdir/cli\loader\_exe.c:58  
> BaseThreadInitThunk at C:\WINDOWS\System32\KERNEL32.DLL (unknown line)  
> RtlUserThreadStart at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)  
> Allocations: 1616528984 (Pool: 1616519201; Big: 9783); GC: 281  
> ✖ [10m:10s] PackageCompiler: compiling incremental system image  
> ERROR: failed process: Process(`'C:\Users\karlo\.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\bin\julia.exe' --color=yes --startup-file=no --pkgimages=no --cpu-target=native --compile=all '--sysimage=C:\Users\karlo\.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\lib\julia\sys.dll' '--project=C:\Users\karlo\.julia\environments\v1.11' '--output-o=C:\Users\karlo\AppData\Local\Temp\jl_KrgDWpWrgR-o.a' 'C:\Users\karlo\AppData\Local\Temp\jl_yhIfmFWHaX'`, ProcessExited(3)) [3]
> 
> Stacktrace:  
> [1] pipeline\_error  
> @ .\process.jl:598 [inlined]  
> [2] run(::Cmd; wait::Bool)  
> @ Base .\process.jl:513  
> [3] run  
> @ .\process.jl:510 [inlined]  
> [4] #20  
> @ C:\Users\karlo.julia\packages\PackageCompiler\UbaS4\ext\TerminalSpinners.jl:157 [inlined]  
> [5] spin(f::PackageCompiler.var"#20#22"{Cmd}, s::PackageCompiler.TerminalSpinners.Spinner{Base.TTY})  
> @ PackageCompiler.TerminalSpinners C:\Users\karlo.julia\packages\PackageCompiler\UbaS4\ext\TerminalSpinners.jl:164  
> [6] macro expansion  
> @ C:\Users\karlo.julia\packages\PackageCompiler\UbaS4\ext\TerminalSpinners.jl:157 [inlined]  
> [7] create\_sysimg\_object\_file(object\_file::String, packages::Vector{…}, packages\_sysimg::Set{…}; project::String, base\_sysimage::String, precompile\_execution\_file::Vector{…}, precompile\_statements\_file::Vector{…}, cpu\_target::String, script::Nothing, sysimage\_build\_args::Cmd, extra\_precompiles::String, incremental::Bool, import\_into\_main::Bool)  
> @ PackageCompiler C:\Users\karlo.julia\packages\PackageCompiler\UbaS4\src\PackageCompiler.jl:130  
> [8] create\_sysimg\_object\_file  
> @ C:\Users\karlo.julia\packages\PackageCompiler\UbaS4\src\PackageCompiler.jl:319 [inlined]  
> [9] create\_sysimage(packages::Vector{…}; sysimage\_path::String, project::String, precompile\_execution\_file::Vector{…}, precompile\_statements\_file::Vector{…}, incremental::Bool, filter\_stdlibs::Bool, cpu\_target::String, script::Nothing, sysimage\_build\_args::Cmd, include\_transitive\_dependencies::Bool, base\_sysimage::Nothing, julia\_init\_c\_file::Nothing, julia\_init\_h\_file::Nothing, version::Nothing, soname::Nothing, compat\_level::String, extra\_precompiles::String, import\_into\_main::Bool)  
> @ PackageCompiler C:\Users\karlo.julia\packages\PackageCompiler\UbaS4\src\PackageCompiler.jl:639  
> [10] top-level scope  
> @ REPL[4]:1  
> Some type information was truncated. Use `show(err)` to see complete types.

> julia\> versioninfo()  
> Julia Version 1.11.3  
> Commit d63adeda50 (2025-01-21 19:42 UTC)  
> Build Info:  
> Official [https://julialang.org/](https://julialang.org/) release  
> Platform Info:  
> OS: Windows (x86\_64-w64-mingw32)  
> CPU: 32 × AMD Ryzen 9 5950X 16-Core Processor  
> WORD\_SIZE: 64  
> LLVM: libLLVM-16.0.6 (ORCJIT, znver3)  
> Threads: 1 default, 0 interactive, 1 GC (on 32 virtual cores)

> julia\> CUDA.versioninfo()  
> CUDA runtime 12.6, artifact installation  
> CUDA driver 12.4  
> NVIDIA driver 552.44.0
> 
> CUDA libraries:
> 
> - CUBLAS: 12.6.4
> - CURAND: 10.3.7
> - CUFFT: 11.3.0
> - CUSOLVER: 11.7.1
> - CUSPARSE: 12.5.4
> - CUPTI: 2024.3.2 (API 24.0.0)
> - NVML: 12.0.0+552.44
> 
> Julia packages:
> 
> - CUDA: 5.6.1
> - CUDA\_Driver\_jll: 0.10.4+0
> - CUDA\_Runtime\_jll: 0.15.5+0
> 
> Toolchain:
> 
> - Julia: 1.11.3
> - LLVM: 16.0.6
> 
> 1 device:  
> 0: NVIDIA GeForce RTX 2070 (sm\_75, 6.667 GiB / 8.000 GiB available)

---

<div class="post-metadata">

### Author: ![maleadt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maleadt/32/10097_2.png) [@maleadt](https://discourse.julialang.org/u/maleadt)
#### Post date: [March 3, 2025, 7:37am UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/6 "2025-03-03T07:37:19Z")

</div>

This is likely [JIT session error triggered by precompilation · Issue #611 · JuliaGPU/GPUCompiler.jl · GitHub](https://github.com/JuliaGPU/GPUCompiler.jl/issues/611), or at least related to that (likely a Julia issue where GPU-only intrinsics leak into the native cache; cc @gbaraldi).

---

<div class="post-metadata">

### Author: ![KSepetanc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ksepetanc/32/10841_2.png) [@KSepetanc](https://discourse.julialang.org/u/KSepetanc)
#### Post date: [May 26, 2025, 8:58pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/7 "2025-05-26T20:58:55Z")

</div>

Any way to revive this? Got no feedback from maintainers. This issue blocks compilation of anything CUDA.jl related (using either PackageCompiler or PrecompileTools).

---

<div class="post-metadata">

### Author: ![KSepetanc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ksepetanc/32/10841_2.png) [@KSepetanc](https://discourse.julialang.org/u/KSepetanc)
#### Post date: [May 31, 2025, 10:26pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/8 "2025-05-31T22:26:19Z")

</div>

Not sure if meaningful in any way, but noticed that the following command also fails:

> ccall(“llvm.nvvm.cp.async.commit.group”, llvmcall, Cvoid, ())

> ERROR: LLVM error: Cannot select: intrinsic %llvm.nvvm.cp.async.commit.group  
> Stacktrace:  
> [1] handle\_error(reason::Cstring)  
> @ LLVM ~/.julia/packages/LLVM/2JPxT/src/core/context.jl:194

Also, `llvm.nvvm.membar.sys` is now formally depreciated (again not sure if useful info).

---

<div class="post-metadata">

### Author: ![maleadt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maleadt/32/10097_2.png) [@maleadt](https://discourse.julialang.org/u/maleadt)
#### Post date: [June 2, 2025, 1:25pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/9 "2025-06-02T13:25:47Z")

</div>

> [@KSepetanc](#):
>
> Not sure if meaningful in any way, but noticed that the following command also fails:
> 
> > ccall(“llvm.nvvm.cp.async.commit.group”, llvmcall, Cvoid, ())

That’s expected; you’re calling a GPU-only intrinsic from a CPU context here. It also illustrates the issue at hand here: During static image generation (which is invoked by PackageCompiler.jl, but also by precompilation), GPU-only intrinsics “leak” into the CPU cache, despite only being accessible via a specific method overlay table that makes it impossible to directly call into GPU code from a CPU context. It’s likely a bug in Julia itself, e.g., losing the provenance of these functions and treating them as CPU-compatible.

---

<div class="post-metadata">

### Author: ![KSepetanc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ksepetanc/32/10841_2.png) [@KSepetanc](https://discourse.julialang.org/u/KSepetanc)
#### Post date: [June 20, 2025, 9:24pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/10 "2025-06-20T21:24:26Z")

</div>

Could Julia v1.12 trim option help with “leak” issue?  
It filters only proven reachable commands, so could it avoid the leak?

---

<div class="post-metadata">

### Author: ![KSepetanc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ksepetanc/32/10841_2.png) [@KSepetanc](https://discourse.julialang.org/u/KSepetanc)
#### Post date: [June 28, 2025, 4:02pm UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/11 "2025-06-28T16:02:09Z")

</div>

I have more info on this. Besides compile=all that fails as described in reports above, I have tried default compile=yes.

On both Linux and Windows it completes without reported error for my gpu “app”. However, generated executable file works only with Windows workflow. When everything (create\_app command and executable) is run on Linux, create\_app finishes, but resulting executable when runs in loop quickly consuming all ram (and I have 64 GB). In the code there are no such loops that could do that and this is some compile error not registered during compiling. I don’t have much to copy here as there is no reported error. In Windows, executable runs as expected.

---

<div class="post-metadata">

### Author: ![maleadt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maleadt/32/10097_2.png) [@maleadt](https://discourse.julialang.org/u/maleadt)
#### Post date: [June 30, 2025, 7:26am UTC](https://discourse.julialang.org/t/packagecompiler-fails-to-create-app-for-madnlpgpu-examodels-cudss-linear-solver/125998/12 "2025-06-30T07:26:00Z")

</div>

That could be [PackageCompiler CUDA app hangs at runtime · Issue #2696 · JuliaGPU/CUDA.jl · GitHub](https://github.com/JuliaGPU/CUDA.jl/issues/2696), try [PackageCompiler CUDA app hangs at runtime · Issue #2696 · JuliaGPU/CUDA.jl · GitHub](https://github.com/JuliaGPU/CUDA.jl/issues/2696#issuecomment-2984259471)
