Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PackageCompiler: LLVM error on machine with AVX-512 #544

Open
vers-w opened this issue Mar 11, 2025 · 2 comments
Open

PackageCompiler: LLVM error on machine with AVX-512 #544

vers-w opened this issue Mar 11, 2025 · 2 comments

Comments

@vers-w
Copy link

vers-w commented Mar 11, 2025

The following errors occur on Windows and Linux machines with AVX-512 with the following CPU, with Julia 1.11.3 and LoopVectorization 0.12.171 for Wflow.

  - PackageCompiler: compiling nonincremental system image
08:53:29   LLVM ERROR: Do not know how to split the result of this operator!
08:53:29   
08:53:29   
08:53:29   [3178902] signal 6 (-6): Aborted
08:53:29   in expression starting at none:0
08:53:29   Allocations: 213439875 (Pool: 213434921; Big: 4954); GC: 70
08:53:32   ERROR: LoadError: failed process: Process(`/u/svc-teamcity-ansible/.julia/juliaup/julia-1.11.3+0.x64.linux.gnu/bin/julia --color=auto --startup-file=no --pkgimages=no '--cpu-target=generic;sandybridge,-xsaveopt,clone_all;skylake-avx512,clone_all;haswell,-rdrnd,base(1)' --sysimage=/opt/teamcityagent/temp/buildTmp/jl_Ubt6d4/sys.so --project=/opt/teamcityagent/work/46377fba7f56e004/build/wflow_cli --output-o=/opt/teamcityagent/temp/buildTmp/jl_41alUzkbGH-o.a /opt/teamcityagent/temp/buildTmp/jl_y1aZyZCt6V`, ProcessSignaled(6)) [0]
08:53:32   
08:53:32   Stacktrace:
08:53:32     [1] pipeline_error
08:53:32       @ ./process.jl:598 [inlined]
08:53:32     [2] run(::Cmd; wait::Bool)
08:53:32       @ Base ./process.jl:513
08:53:32     [3] run
08:53:32       @ ./process.jl:510 [inlined]
08:53:32     [4] #20
08:53:32       @ /home/svc-teamcity-ansible/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:157 [inlined]
08:53:32     [5] spin(f::PackageCompiler.var"#20#22"{Cmd}, s::PackageCompiler.TerminalSpinners.Spinner{Base.PipeEndpoint})
08:53:32       @ PackageCompiler.TerminalSpinners /home/svc-teamcity-ansible/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:164
08:53:32     [6] macro expansion
08:53:32       @ /home/svc-teamcity-ansible/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:157 [inlined]
08:53:32     [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)
08:53:32       @ PackageCompiler /home/svc-teamcity-ansible/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:130
08:53:32     [8] create_sysimg_object_file
08:53:32       @ /home/svc-teamcity-ansible/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:319 [inlined]
08:53:32     [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)
08:53:32       @ PackageCompiler /home/svc-teamcity-ansible/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:639
08:53:32    [10] create_sysimage
08:53:32       @ /home/svc-teamcity-ansible/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:527 [inlined]
08:53:32    [11] create_app(package_dir::String, app_dir::String; executables::Vector{Pair{String, String}}, 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)
08:53:32       @ PackageCompiler /home/svc-teamcity-ansible/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:886
08:53:32    [12] top-level scope
08:53:32       @ /opt/teamcityagent/work/46377fba7f56e004/build/create_binaries/create_app.jl:14
08:53:32   in expression starting at /opt/teamcityagent/work/46377fba7f56e004/build/create_binaries/create_app.jl:14
05:13:34   └ /opt/teamcityagent/work/46377fba7f56e004/test/data/output/outstates-moselle-sed.nc.
05:13:35   [ Info: PackageCompiler: Done
05:13:35   - PackageCompiler: compiling nonincremental system image
05:17:38   LLVM ERROR: Cannot select: 0x7f4777a78760: v2f64 = X86ISD::VGETMANT 0x7f46223c1830, TargetConstant:i32<2>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/special/exp.jl:906 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/special/exp.jl:906 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/priv.jl:66 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/priv.jl:68 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/misc.jl:185 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ]
05:17:38     0x7f46223c1830: v2f64 = X86ISD::UNPCKL 0x7f4652cd4110, 0x7f4652cd3e00, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:18 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:34 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:79 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:385 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/base_defs.jl:46 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ] ] ]
05:17:38       0x7f4652cd4110: v2f64 = scalar_to_vector 0x7f46508ea5c0, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:18 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:34 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:79 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:385 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/base_defs.jl:46 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ] ] ]
05:17:38         0x7f46508ea5c0: f64 = sint_to_fp 0x7f472ff06570, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:18 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:34 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:79 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:385 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/base_defs.jl:46 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ] ] ]
05:17:38           0x7f472ff06570: i64 = extract_vector_elt 0x7f468f3facf0, Constant:i64<0>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:18 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:34 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:79 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:385 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/base_defs.jl:46 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ] ] ]
05:17:38             0x7f468f3facf0: v2i64 = add 0x7f466e4e1140, 0x7f466da733e0, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38               0x7f466e4e1140: v2i64 = X86ISD::PMULUDQ 0x7f4624b9d090, 0x7f4624b9d090, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                 0x7f4624b9d090: v2i64 = add 0x7f4625554690, 0x7f4624dfe820, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                   0x7f4625554690: v2i64 = X86ISD::PMULUDQ 0x7f473ec32a50, 0x7f473ec32a50, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                     0x7f473ec32a50: v2i64,ch = load<(dereferenceable load (s128) from %ir.5, !tbaa !19006, !alias.scope !19009, !noalias !19012)> 0x7f4625548870, 0x7f472ff05fe0, undef:i64, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ]
05:17:38   
05:17:38   
05:17:38                     0x7f473ec32a50: v2i64,ch = load<(dereferenceable load (s128) from %ir.5, !tbaa !19006, !alias.scope !19009, !noalias !19012)> 0x7f4625548870, 0x7f472ff05fe0, undef:i64, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ]
05:17:38   
05:17:38   
05:17:38                   0x7f4624dfe820: v2i64 = X86ISD::VSHLI 0x7f46c51b1ed0, TargetConstant:i8<33>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                     0x7f46c51b1ed0: v2i64 = X86ISD::PMULUDQ 0x7f473ec32a50, 0x7f462438a210, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38   
05:17:38   
05:17:38                     0x7f4624e08070: i8 = TargetConstant<33>
05:17:38                 0x7f4624b9d090: v2i64 = add 0x7f4625554690, 0x7f4624dfe820, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                   0x7f4625554690: v2i64 = X86ISD::PMULUDQ 0x7f473ec32a50, 0x7f473ec32a50, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                     0x7f473ec32a50: v2i64,ch = load<(dereferenceable load (s128) from %ir.5, !tbaa !19006, !alias.scope !19009, !noalias !19012)> 0x7f4625548870, 0x7f472ff05fe0, undef:i64, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ]
05:17:38   
05:17:38   
05:17:38                     0x7f473ec32a50: v2i64,ch = load<(dereferenceable load (s128) from %ir.5, !tbaa !19006, !alias.scope !19009, !noalias !19012)> 0x7f4625548870, 0x7f472ff05fe0, undef:i64, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ]
05:17:38   
05:17:38   
05:17:38                   0x7f4624dfe820: v2i64 = X86ISD::VSHLI 0x7f46c51b1ed0, TargetConstant:i8<33>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                     0x7f46c51b1ed0: v2i64 = X86ISD::PMULUDQ 0x7f473ec32a50, 0x7f462438a210, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38   
05:17:38   
05:17:38                     0x7f4624e08070: i8 = TargetConstant<33>
05:17:38               0x7f466da733e0: v2i64 = X86ISD::VSHLI 0x7f4627c298e0, TargetConstant:i8<33>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                 0x7f4627c298e0: v2i64 = X86ISD::PMULUDQ 0x7f4624b9d090, 0x7f46c51acbb0, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                   0x7f4624b9d090: v2i64 = add 0x7f4625554690, 0x7f4624dfe820, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                     0x7f4625554690: v2i64 = X86ISD::PMULUDQ 0x7f473ec32a50, 0x7f473ec32a50, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38   
05:17:38   
05:17:38                     0x7f4624dfe820: v2i64 = X86ISD::VSHLI 0x7f46c51b1ed0, TargetConstant:i8<33>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38   
05:17:38   
05:17:38                   0x7f46c51acbb0: v2i64 = X86ISD::VSRLI 0x7f4624b9d090, TargetConstant:i8<32>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                     0x7f4624b9d090: v2i64 = add 0x7f4625554690, 0x7f4624dfe820, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38   
05:17:38   
05:17:38                     0x7f4643147260: i8 = TargetConstant<32>
05:17:38                 0x7f4624e08070: i8 = TargetConstant<33>
05:17:38             0x7f4621388550: i64 = Constant<0>
05:17:38       0x7f4652cd3e00: v2f64 = scalar_to_vector 0x7f462554c3e0, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:18 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:34 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:79 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:385 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/base_defs.jl:46 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ] ] ]
05:17:38         0x7f462554c3e0: f64 = sint_to_fp 0x7f468c468050, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:18 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:34 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:79 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:385 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/base_defs.jl:46 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ] ] ]
05:17:38           0x7f468c468050: i64 = extract_vector_elt 0x7f466f5ddb70, Constant:i64<0>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:18 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:34 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:79 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:385 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/base_defs.jl:46 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ] ] ]
05:17:38             0x7f466f5ddb70: v2i64 = bitcast 0x7f468ffdd030, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:18 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:34 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:79 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:385 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/base_defs.jl:46 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ] ] ]
05:17:38               0x7f468ffdd030: v4i32 = X86ISD::PSHUFD 0x7f46c6056e60, TargetConstant:i8<-18>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:18 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:34 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:79 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:374 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/conversion.jl:385 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/base_defs.jl:46 @[ /home/svc-teamcity-ansible/.julia/packages/SLEEFPirates/jDnkW/src/SLEEFPirates.jl:280 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ] ] ] ]
05:17:38                 0x7f46c6056e60: v4i32 = bitcast 0x7f468f3facf0, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                   0x7f468f3facf0: v2i64 = add 0x7f466e4e1140, 0x7f466da733e0, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38                     0x7f466e4e1140: v2i64 = X86ISD::PMULUDQ 0x7f4624b9d090, 0x7f4624b9d090, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38   
05:17:38   
05:17:38                     0x7f466da733e0: v2i64 = X86ISD::VSHLI 0x7f4627c298e0, TargetConstant:i8<33>, /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:31 @[ /home/svc-teamcity-ansible/.julia/packages/VectorizationBase/wHnQd/src/llvm_intrin/binary_ops.jl:42 @[ operators.jl:553 @[ operators.jl:596 @[ /opt/teamcityagent/work/46377fba7f56e004/src/routing/routing_process.jl:400 ] ] ] ] ]
05:17:38   
05:17:38   
05:17:38                 0x7f4777a78370: i8 = TargetConstant<-18>
05:17:38             0x7f4621388550: i64 = Constant<0>
05:17:38     0x7f468f6ca910: i32 = TargetConstant<2>
05:17:38   In function: julia_local_inertial_flow_134860
05:17:38   
05:17:38   [211534] signal 6 (-6): Aborted
05:17:38   in expression starting at none:0
05:17:38   Allocations: 216060920 (Pool: 216056144; Big: 4776); GC: 92
05:17:40   ERROR: LoadError: failed process: Process(`/u/svc-teamcity-ansible/.julia/juliaup/julia-1.11.3+0.x64.linux.gnu/bin/julia --color=auto --startup-file=no --pkgimages=no '--cpu-target=generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)' --sysimage=/opt/teamcityagent/temp/buildTmp/jl_ANLRPO/sys.so --project=/opt/teamcityagent/work/46377fba7f56e004/build/wflow_cli --output-o=/opt/teamcityagent/temp/buildTmp/jl_5qhKrOHgNS-o.a /opt/teamcityagent/temp/buildTmp/jl_3yBovIlcvE`, ProcessSignaled(6)) [0]
05:17:40   
05:17:40   Stacktrace:
05:17:40     [1] pipeline_error
05:17:40       @ ./process.jl:598 [inlined]
05:17:41     [2] run(::Cmd; wait::Bool)
05:17:41       @ Base ./process.jl:513
05:17:41     [3] run
05:17:41       @ ./process.jl:510 [inlined]
05:17:41     [4] #20
05:17:41       @ ~/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:157 [inlined]
05:17:41     [5] spin(f::PackageCompiler.var"#20#22"{Cmd}, s::PackageCompiler.TerminalSpinners.Spinner{Base.PipeEndpoint})
05:17:41       @ PackageCompiler.TerminalSpinners ~/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:164
05:17:41     [6] macro expansion
05:17:41       @ ~/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:157 [inlined]
05:17:41     [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)
05:17:41       @ PackageCompiler ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:130
05:17:41     [8] create_sysimg_object_file
05:17:41       @ ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:319 [inlined]
05:17:41     [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)
05:17:41       @ PackageCompiler ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:639
05:17:41    [10] create_sysimage
05:17:41       @ ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:527 [inlined]
05:17:41    [11] create_app(package_dir::String, app_dir::String; executables::Vector{Pair{String, String}}, 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)
05:17:41       @ PackageCompiler ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:886
05:17:41    [12] top-level scope
05:17:41       @ /opt/teamcityagent/work/46377fba7f56e004/build/create_binaries/create_app.jl:14
05:17:41   in expression starting at /opt/teamcityagent/work/46377fba7f56e004/build/create_binaries/create_app.jl:14
05:17:41   Process exited with code 1

The CPU detected by LoopVectorization is skylake-avx512. The build is only successful when this CPU name is set as cpu_target. When other CPU targets are added (for example generic) the build fails with above errors.

Perhaps someone can tell from the errors what is causing the problem and maybe knows a workaround. In case it would help, let me know if any additional info is required.

@chriselrod
Copy link
Member

chriselrod commented Mar 11, 2025

LoopVectorization specifically tries to use certain AVX512 instructions when the host is capable of them.

Unfortunately, it doesn't know when you're compiling for a generic target, so it'll still try to use them. LLVM can't legalize these for a generic target, resulting in the error.

Specifically, VGETMANT shows up in your error, which requires AVX512VL.

From memory, you can do something like

import HostCPUFeatures
HostCPUFeatures.has_feature(::Val{:x86_64_avx512vl}) = HostCPUFeatures.False()
HostCPUFeatures.has_feature(::Val{:x86_64_avx512f}) = HostCPUFeatures.False()
HostCPUFeatures.has_feature(::Val{:x86_64_avx2}) = HostCPUFeatures.False()
HostCPUFeatures.has_feature(::Val{:x86_64_3}) = HostCPUFeatures.False()
HostCPUFeatures.has_feature(::Val{:x86_64_avx}) = HostCPUFeatures.False()

and this should roughly correspond to a generic target.

@vers-w
Copy link
Author

vers-w commented Mar 12, 2025

Thanks for the quick response!

I added the lines below module Wflow. These kind of warnings/errors are then thrown when loading Wflow:

[ Info: Precompiling Wflow [d48b7d99-76e7-47ae-b1d5-ff0c1cf9a818] 
WARNING: Method definition has_feature(Base.Val{:x86_64_avx512vl}) in module HostCPUFeatures at C:\Users\verseve\.julia\packages\HostCPUFeatures\bFJZj\src\cpu_info.jl:25 overwritten in module Wflow at C:\Users\verseve\.julia\dev\Wflow\src\Wflow.jl:7.
ERROR: Method overwriting is not permitted during Module precompilation. Use `__precompile__(false)` to opt-out of precompilation.
┌ Info: Skipping precompilation due to precompilable error. Importing Wflow [d48b7d99-76e7-47ae-b1d5-ff0c1cf9a818].
└   exception = Error when precompiling module, potentially caused by a __precompile__(false) declaration in the module.

And the compiling of a nonincremental system image with PackageCompiler fails:

⠸ [00m:18s] PackageCompiler: compiling nonincremental system imageERROR: Method overwriting is not permitted during Module precompilation. Use `__precompile__(false)` to opt-out of precompilation.
⡆ [00m:19s] PackageCompiler: compiling nonincremental system imageError when precompiling module, potentially caused by a __precompile__(false) declaration in the module.

I guess there is no (simple) workaround for this, except using Julia 1.9, see also this issue JuliaLang/PackageCompiler.jl#924.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants