EnzymeAD / Reactant.jl

MIT License
54 stars 4 forks source link

`libdevice` not found #149

Closed avik-pal closed 6 days ago

avik-pal commented 1 week ago
using Reactant

Reactant.set_default_backend("gpu")

w = rand(Float32, 2, 2);
x = rand(Float32, 2, 4);

x_ra = Reactant.to_rarray(x);
w_ra = Reactant.to_rarray(w);

fn(w, x) = tanh.(w * x)

apply_compiled = @compile fn(w_ra, x_ra);

apply_compiled(w_ra, x_ra)
terminate called after throwing an instance of 'xla::XlaRuntimeError'
  what():  INTERNAL: libdevice not found at ./libdevice.10.bc

[7575] signal 6 (-6): Aborted
in expression starting at /mnt/software/lux/Reactant.jl/envs/vit.jl:33
unknown function (ip: 0x71ce698fe3f4)
gsignal at /usr/lib/libc.so.6 (unknown line)
abort at /usr/lib/libc.so.6 (unknown line)
__verbose_terminate_handler at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/vterminate.cc:95
__terminate at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:48
terminate at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:58
__cxa_throw at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_throw.cc:98
_ZN3xla12ValueOrThrowISt10unique_ptrINS_20PjRtLoadedExecutableESt14default_deleteIS2_EEEET_N4absl12lts_202308028StatusOrIS6_EE at /mnt/.julia/artifacts/fcc246918462c9e7bbfb3bc936cd9d7268236d78/lib/libReactantExtra.so (unknown line)
ClientCompile at /mnt/.julia/artifacts/fcc246918462c9e7bbfb3bc936cd9d7268236d78/lib/libReactantExtra.so (unknown line)
Compile at /mnt/software/lux/Reactant.jl/src/XLA.jl:376 [inlined]
#30 at /mnt/software/lux/Reactant.jl/src/Compiler.jl:592
context! at /mnt/software/lux/Reactant.jl/src/mlir/IR/Context.jl:71
unknown function (ip: 0x71ce4d9f2976)
#compile_xla#29 at /mnt/software/lux/Reactant.jl/src/Compiler.jl:573
compile_xla at /mnt/software/lux/Reactant.jl/src/Compiler.jl:567 [inlined]
#compile#34 at /mnt/software/lux/Reactant.jl/src/Compiler.jl:600
compile at /mnt/software/lux/Reactant.jl/src/Compiler.jl:599
unknown function (ip: 0x71ce4d91dd76)
jl_apply at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
do_call at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:126
eval_value at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:223
eval_stmt_value at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:174 [inlined]
eval_body at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:663
jl_interpret_toplevel_thunk at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:821
jl_toplevel_eval_flex at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_toplevel_eval_flex at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:886
jl_toplevel_eval_flex at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:430 [inlined]
include_string at ./loading.jl:2628
_include at ./loading.jl:2688
include at ./sysimg.jl:38
unknown function (ip: 0x71ce4d916192)
jl_apply at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
do_call at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:126
eval_value at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:223
eval_stmt_value at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:174 [inlined]
eval_body at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:663
jl_interpret_toplevel_thunk at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:821
jl_toplevel_eval_flex at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_toplevel_eval_flex at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:886
eval_body at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:625
eval_body at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:539
jl_interpret_toplevel_thunk at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/interpreter.c:821
jl_toplevel_eval_flex at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_toplevel_eval_flex at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:886
jl_toplevel_eval_flex at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:430 [inlined]
eval_user_input at /home/avikpal/.julia/juliaup/julia-1.11.0-rc4+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:226
repl_backend_loop at /home/avikpal/.julia/juliaup/julia-1.11.0-rc4+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:323
#start_repl_backend#59 at /home/avikpal/.julia/juliaup/julia-1.11.0-rc4+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:308
start_repl_backend at /home/avikpal/.julia/juliaup/julia-1.11.0-rc4+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:305
#run_repl#72 at /home/avikpal/.julia/juliaup/julia-1.11.0-rc4+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:464
run_repl at /home/avikpal/.julia/juliaup/julia-1.11.0-rc4+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:450
jfptr_run_repl_10599 at /mnt/.julia/compiled/v1.11/REPL/u0gqU_wIERL.so (unknown line)
#1138 at ./client.jl:446
jfptr_YY.1138_14995 at /mnt/.julia/compiled/v1.11/REPL/u0gqU_wIERL.so (unknown line)
jl_apply at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
jl_f__call_latest at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/builtins.c:875
#invokelatest#2 at ./essentials.jl:1054 [inlined]
invokelatest at ./essentials.jl:1051 [inlined]
run_main_repl at ./client.jl:430
repl_main at ./client.jl:567 [inlined]
_start at ./client.jl:541
jfptr__start_72093.1 at /home/avikpal/.julia/juliaup/julia-1.11.0-rc4+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
true_main at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/jlapi.c:900
jl_repl_entrypoint at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/src/jlapi.c:1059
main at /cache/build/builder-amdci5-0/julialang/julia-release-1-dot-11/cli/loader_exe.c:58
unknown function (ip: 0x71ce6988de07)
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8)
Allocations: 62962990 (Pool: 62961362; Big: 1628); GC: 59
[1]    7575 IOT instruction (core dumped)  julia --project=benchmark --threads=auto
wsmoses commented 6 days ago
julia> apply_compiled = @compile fn(w_ra, x_ra);                                                                                                                                                                                                     
terminate called after throwing an instance of 'xla::XlaRuntimeError'                                                                                                                                                                                
  what():  NOT_FOUND: Couldn't find a suitable version of ptxas. The following locations were considered: ./cuda_sdk_lib/bin/ptxas, /home/wsmoses/.local/bin/ptxas, /home/wsmoses/.local/bin/ptxas, /usr/local/cuda/bin/ptxas, /home/wsmoses/.local/b
in/ptxas, /home/wsmoses/.local/bin/ptxas, /home/wsmoses/.juliaup/bin/ptxas, /usr/local/cuda/bin/ptxas, /usr/local/sbin/ptxas, /usr/local/bin/ptxas, /usr/sbin/ptxas, /usr/bin/ptxas, /sbin/ptxas, /bin/ptxas, /usr/games/ptxas, /usr/local/games/ptxa
s, /snap/bin/ptxas, /home/wsmoses/.julia/juliaup/julia-1.10.5+0.x64.linux.gnu/bin/julia.runfiles/cuda_nvcc/bin/ptxas, /home/w/cuda_nvcc/bin/ptxas, bin/ptxas, /usr/local/cuda/bin/ptxas, /home/wsmoses/Reactant.jl/deps/ReactantExtra/bazel-bin/../nv
idia/cuda_nvcc/bin/ptxas, /home/wsmoses/Reactant.jl/deps/ReactantExtra/bazel-bin/../../nvidia/cuda_nvcc/bin/ptxas, /home/wsmoses/Reactant.jl/deps/ReactantExtra/bazel-bin/cuda/bin/ptxas                                                             

[4047298] signal (6.-6): Aborted
in expression starting at REPL[8]:1
pthread_kill at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
raise at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
__verbose_terminate_handler at /workspace/srcdir/gcc-13.2.0/libstdc++-v3/libsupc++/vterminate.cc:95
__terminate at /workspace/srcdir/gcc-13.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:48
terminate at /workspace/srcdir/gcc-13.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:58
__cxa_throw at /workspace/srcdir/gcc-13.2.0/libstdc++-v3/libsupc++/eh_throw.cc:98
ValueOrThrow<std::unique_ptr<xla::PjRtLoadedExecutable, std::default_delete<xla::PjRtLoadedExecutable> > > at /proc/self/cwd/external/xla/xla/pjrt/status_casters.h:144
ClientCompile at /proc/self/cwd/API.cpp:310
Compile at /home/wsmoses/Reactant.jl/src/XLA.jl:376 [inlined] 
#30 at /home/wsmoses/Reactant.jl/src/Compiler.jl:592
context! at /home/wsmoses/Reactant.jl/src/mlir/IR/Context.jl:71
unknown function (ip: 0x7ffa17052169)
_jl_invoke at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:3077
#compile_xla#29 at /home/wsmoses/Reactant.jl/src/Compiler.jl:573
compile_xla at /home/wsmoses/Reactant.jl/src/Compiler.jl:567 [inlined]
#compile#34 at /home/wsmoses/Reactant.jl/src/Compiler.jl:600
compile at /home/wsmoses/Reactant.jl/src/Compiler.jl:599
unknown function (ip: 0x7ffa1704c159)
_jl_invoke at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:3077
jl_apply at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/julia.h:1982 [inlined]
do_call at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/interpreter.c:126
eval_value at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/interpreter.c:223
eval_stmt_value at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/interpreter.c:174 [inlined]
eval_body at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/interpreter.c:617
jl_interpret_toplevel_thunk at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/interpreter.c:775
jl_toplevel_eval_flex at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/toplevel.c:934
jl_toplevel_eval_flex at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/toplevel.c:877
jl_toplevel_eval_flex at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/toplevel.c:877
ijl_toplevel_eval_in at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/toplevel.c:985
eval at ./boot.jl:385 [inlined]
eval_user_input at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/usr/share/julia/stdlib/v1.10/REPL/src/REPL.jl:150
repl_backend_loop at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/usr/share/julia/stdlib/v1.10/REPL/src/REPL.jl:246
#start_repl_backend#46 at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/usr/share/julia/stdlib/v1.10/REPL/src/REPL.jl:231
start_repl_backend at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/usr/share/julia/stdlib/v1.10/REPL/src/REPL.jl:228
_jl_invoke at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:3077
#run_repl#59 at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/usr/share/julia/stdlib/v1.10/REPL/src/REPL.jl:389
run_repl at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/usr/share/julia/stdlib/v1.10/REPL/src/REPL.jl:375
jfptr_run_repl_91805.1 at /home/wsmoses/.julia/juliaup/julia-1.10.5+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:3077
#1013 at ./client.jl:432
jfptr_YY.1013_82772.1 at /home/wsmoses/.julia/juliaup/julia-1.10.5+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:3077
jl_apply at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/julia.h:1982 [inlined]
jl_f__call_latest at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/builtins.c:812
#invokelatest#2 at ./essentials.jl:892 [inlined]
invokelatest at ./essentials.jl:889 [inlined]
run_main_repl at ./client.jl:416
exec_options at ./client.jl:333
_start at ./client.jl:552
jfptr__start_82798.1 at /home/wsmoses/.julia/juliaup/julia-1.10.5+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/gf.c:3077
jl_apply at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/julia.h:1982 [inlined]
true_main at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/jlapi.c:582
jl_repl_entrypoint at /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/src/jlapi.c:731
wsmoses commented 6 days ago

Fixed on main