-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Description
I get a segmentation fault from a simple matrix multiplication.
I'm working on a PVC, and I tried both with julia 1.10.9 and 1.11.5, same error. Here the MWE:
using oneAPI, Test
const DevFloat=Float64 # I also tried with Float32, same problem
const DevArray=oneAPI.oneArray # I use this Dev* syntax for portability; same issue without it.
const DevLibrary=oneAPI
###
MLD= 32 # =2^5 # Matrix Linear Dimension
# Attempted MLD numbers that already failed:
#128 # =2^7
#8192 # =2^13
#32768 # =2^15
#21000
m, n, k = MLD, MLD, MLD
α, β = 1.0, 0.0
A = rand(DevFloat, m, k); #ones(DevFloat, m, k)
B = rand(DevFloat, k, n); #ones(DevFloat, k, n)
C = rand(DevFloat, m, n); #zeros(DevFloat, m, n)
dev_A = DevArray(A);
dev_B = DevArray(B);
dev_C = DevArray(C);
dev_R = α * (dev_A * dev_B) + β * dev_C
DevLibrary.synchronize()
R = Array(dev_R)
###
local_R = α * (A * B) + β * C
@test all([isapprox(a, b) for (a,b) in zip(local_R,R)])
and here the complete logs:
Module loaded and MWE complete logs (julia 1.11.5)
di75tom@login22:> module list
Currently Loaded Modulefiles:
1) stack/24.1.1{arch=auto} 4) intel-mkl/2024.2.1 7) intel-itac/2022.1.0 10) intel-dal/2024.6.0 13) intel-dpct/2024.2.1
2) intel/2024.2.1 5) intel-inspector/2024.1.0 8) intel-tbb/2021.13.1 11) intel-ippcp/2021.12.1 14) intel-toolkit/2024.2.1
3) intel-mpi/2021.13.1 6) intel-dnn/2024.2.1 9) intel-ipp/2021.12.1 12) intel-dpl/2022.6.1 15) julia/1.11.5
Key:
auto-loaded default-version {variant=value}
di75tom@login22:> julia MWE-crash-oneAPI_modifications.jl
[5070] signal 11 (1): Segmentation fault
in expression starting at /hppfs/work/pr28fa/di75tom/julia_on_phase2/Conference-PASC25_2025-06-16/PASC25_CODE-DPCPP/MWE-crash-oneAPI_modifications.jl:27
_ZN9ur_loader16urAdapterGetInfoEP20ur_adapter_handle_t_17ur_adapter_info_tmPvPm at /dss/dsshome1/08/di75tom/.julia/artifacts/4a18fb08eef19534a609707234107ea4ab173392/lib/./libur_loader.so.0 (unknown line)
urAdapterGetInfo at /dss/dsshome1/08/di75tom/.julia/artifacts/4a18fb08eef19534a609707234107ea4ab173392/lib/./libur_loader.so.0 (unknown line)
_ZZSt9call_onceIZN4sycl3_V16detail2ur12initializeUrEP26ur_loader_config_handle_t_E3$_0JEEvRSt9once_flagOT_DpOT0_ENUlvE0_8__invokeEv at /dss/dsshome1/08/di75tom/.julia/artifacts/4a18fb08eef19534a609707234107ea4ab173392/lib/libsycl.so.8 (unknown line)
__pthread_once_slow at /lib64/libpthread.so.0 (unknown line)
_ZN4sycl3_V16detail2ur9getPluginILNS0_7backendE2EEERKSt10shared_ptrINS1_6pluginEEv at /dss/dsshome1/08/di75tom/.julia/artifacts/4a18fb08eef19534a609707234107ea4ab173392/lib/libsycl.so.8 (unknown line)
_ZN4sycl3_V16detail13make_platformEmNS0_7backendE at /dss/dsshome1/08/di75tom/.julia/artifacts/4a18fb08eef19534a609707234107ea4ab173392/lib/libsycl.so.8 (unknown line)
make_platform<(sycl::_V1::backend)2> at /workspace/x86_64-linux-gnu-libgfortran5-cxx11/destdir/include/sycl/backend.hpp:312 [inlined]
syclPlatformCreate at /workspace/srcdir/oneAPI.jl/deps/src/sycl.cpp:10
syclPlatformCreate at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/lib/support/liboneapi_support.jl:8 [inlined]
syclPlatform at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/lib/sycl/SYCL.jl:16 [inlined]
#14 at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/src/context.jl:75 [inlined]
get! at ./iddict.jl:171
unknown function (ip: 0x153b0b2b091d)
sycl_platform at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/src/context.jl:74
unknown function (ip: 0x153b0b2b06b2)
sycl_platform at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/src/context.jl:74
#16 at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/src/context.jl:81
get! at ./iddict.jl:171
unknown function (ip: 0x153b0b2b048d)
sycl_device at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/src/context.jl:80 [inlined]
#18 at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/src/context.jl:87
get! at ./iddict.jl:171
unknown function (ip: 0x153b0b2aff0d)
sycl_context at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/src/context.jl:86 [inlined]
#20 at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/src/context.jl:93
get! at ./iddict.jl:171
unknown function (ip: 0x153b0b2af37d)
sycl_queue at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/src/context.jl:92
unknown function (ip: 0x153b0b2ae9d2)
gemm! at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/lib/mkl/wrappers_blas.jl:1212
generic_matmatmul! at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/lib/mkl/linalg.jl:148
generic_matmatmul! at /dss/dsshome1/08/di75tom/.julia/packages/oneAPI/c7eAo/lib/mkl/linalg.jl:123 [inlined]
_mul! at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:287 [inlined]
mul! at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:285 [inlined]
mul! at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:253 [inlined]
* at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:124
unknown function (ip: 0x153b0b2ae706)
jl_apply at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
do_call at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:126
eval_value at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:223
eval_stmt_value at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:174 [inlined]
eval_body at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:666
jl_interpret_toplevel_thunk at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:824
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:430 [inlined]
include_string at ./loading.jl:2734
_include at ./loading.jl:2794
include at ./Base.jl:557
jfptr_include_46879.1 at /dss/lrzsys/sys/tools/julia_base/julia-1.11.5/lib/julia/sys.so (unknown line)
exec_options at ./client.jl:323
_start at ./client.jl:531
jfptr__start_73430.1 at /dss/lrzsys/sys/tools/julia_base/julia-1.11.5/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
true_main at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/jlapi.c:900
jl_repl_entrypoint at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/jlapi.c:1059
main at julia (unknown line)
__libc_start_main at /lib64/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8)
Allocations: 6181787 (Pool: 6181487; Big: 300); GC: 7
Segmentation fault
Is this a SYCL problem?
Metadata
Metadata
Assignees
Labels
No labels