Open andll opened 2 years ago
Does it work if you put release(false) for the cuda builder?
With release(false) it fails to compile like this:
Caused by:
process didn't exit successfully: `/home/ubuntu/Rust-CUDA/target/debug/build/add-3a14f1dbd1150ab2/build-script-build` (exit status: 101)
--- stdout
cargo:rerun-if-changed=../../gpu/add_gpu
--- stderr
Compiling compiler_builtins v0.1.55
Compiling core v0.0.0 (/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling autocfg v1.0.1
Compiling libm v0.2.1
Compiling semver-parser v0.7.0
Compiling proc-macro2 v1.0.36
Compiling unicode-xid v0.2.2
Compiling syn v1.0.85
Compiling paste v1.0.6
Compiling semver v0.9.0
Compiling num-traits v0.2.14
Compiling num-integer v0.1.44
Compiling rustc_version v0.2.3
Compiling vek v0.15.4
Compiling quote v1.0.14
Compiling cuda_std_macros v0.2.0 (/home/ubuntu/Rust-CUDA/crates/cuda_std_macros)
Compiling rustc-std-workspace-core v1.99.0 (/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x4d4be3)[0x7f8b1213bbe3]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f8b116eb980]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x1549ec0)[0x7f8b096f0ec0]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x147f9f9)[0x7f8b096269f9]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x147f9c1)[0x7f8b096269c1]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x13fdc06)[0x7f8b095a4c06]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x13f9e12)[0x7f8b095a0e12]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x51f082)[0x7f8b086c6082]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x4061e4)[0x7f8b085ad1e4]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x4bbbed)[0x7f8b08662bed]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x43ecf0)[0x7f8b085e5cf0]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x4a48fd)[0x7f8b0864b8fd]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x43e926)[0x7f8b085e5926]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x504bb9)[0x7f8b086abbb9]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(_ZN109_$LT$rustc_codegen_nvvm..NvvmCodegenBackend$u20$as$u20$rustc_codegen_ssa..traits..backend..CodegenBackend$GT$13codegen_crate17h75549d57ae9a149eE+0x1d2)[0x7f8b086bc012]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x23a97a7)[0x7f8b140107a7]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(_RNvMs0_NtCsbyxJdrs97mU_15rustc_interface7queriesNtB5_7Queries15ongoing_codegen+0x6fe)[0x7f8b13ffd9ee]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2366add)[0x7f8b13fcdadd]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x23632cd)[0x7f8b13fca2cd]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2367a2f)[0x7f8b13fcea2f]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2365c55)[0x7f8b13fccc55]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2385d9a)[0x7f8b13fecd9a]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/libstd-13e2ae73269b4206.so(rust_metadata_std_f24903a91e569aa2+0xa99b3)[0x7f8b119a19b3]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76db)[0x7f8b116e06db]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7f8b10ffd71f]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x4d4be3)[0x7f30e109abe3]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f30e064a980]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x1549ec0)[0x7f30d86f0ec0]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x147f9f9)[0x7f30d86269f9]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x147f9c1)[0x7f30d86269c1]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x13fdc06)[0x7f30d85a4c06]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x13f9e12)[0x7f30d85a0e12]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x51f082)[0x7f30d76c6082]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x4061e4)[0x7f30d75ad1e4]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x4bbbed)[0x7f30d7662bed]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x43ecf0)[0x7f30d75e5cf0]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x4a48fd)[0x7f30d764b8fd]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x43e926)[0x7f30d75e5926]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x504bb9)[0x7f30d76abbb9]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(_ZN109_$LT$rustc_codegen_nvvm..NvvmCodegenBackend$u20$as$u20$rustc_codegen_ssa..traits..backend..CodegenBackend$GT$13codegen_crate17h75549d57ae9a149eE+0x1d2)[0x7f30d76bc012]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x23a97a7)[0x7f30e2f6f7a7]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(_RNvMs0_NtCsbyxJdrs97mU_15rustc_interface7queriesNtB5_7Queries15ongoing_codegen+0x6fe)[0x7f30e2f5c9ee]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2366add)[0x7f30e2f2cadd]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x23632cd)[0x7f30e2f292cd]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2367a2f)[0x7f30e2f2da2f]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2365c55)[0x7f30e2f2bc55]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2385d9a)[0x7f30e2f4bd9a]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/libstd-13e2ae73269b4206.so(rust_metadata_std_f24903a91e569aa2+0xa99b3)[0x7f30e09009b3]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76db)[0x7f30e063f6db]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7f30dff5c71f]
error: could not compile `core`
Caused by:
process didn't exit successfully: `rustc --crate-name core --edition=2018 /home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="panic_immediate_abort"' -C metadata=a1a56f98b0fb9ff3 -C extra-filename=-a1a56f98b0fb9ff3 --out-dir /home/ubuntu/Rust-CUDA/target/cuda-builder/nvptx64-nvidia-cuda/debug/deps --target nvptx64-nvidia-cuda -Z force-unstable-if-unmarked -L dependency=/home/ubuntu/Rust-CUDA/target/cuda-builder/nvptx64-nvidia-cuda/debug/deps -L dependency=/home/ubuntu/Rust-CUDA/target/cuda-builder/debug/deps --cap-lints allow -Zcodegen-backend=/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so '-Cllvm-args=-arch=compute_61 -opt=0 --override-libm'` (signal: 11, SIGSEGV: invalid memory reference)
warning: build failed, waiting for other jobs to finish...
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x4d4be3)[0x7f78a2af3be3]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f78a20a3980]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x1549ec0)[0x7f789a0f0ec0]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x147f9f9)[0x7f789a0269f9]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x147f9c1)[0x7f789a0269c1]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x13fdc06)[0x7f7899fa4c06]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x13f9e12)[0x7f7899fa0e12]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x51f082)[0x7f78990c6082]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x4061e4)[0x7f7898fad1e4]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x4bbbed)[0x7f7899062bed]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x43ecf0)[0x7f7898fe5cf0]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x4a48fd)[0x7f789904b8fd]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x43e926)[0x7f7898fe5926]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(+0x504bb9)[0x7f78990abbb9]
/home/ubuntu/Rust-CUDA/target/debug/deps/librustc_codegen_nvvm.so(_ZN109_$LT$rustc_codegen_nvvm..NvvmCodegenBackend$u20$as$u20$rustc_codegen_ssa..traits..backend..CodegenBackend$GT$13codegen_crate17h75549d57ae9a149eE+0x1d2)[0x7f78990bc012]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x23a97a7)[0x7f78a49c87a7]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(_RNvMs0_NtCsbyxJdrs97mU_15rustc_interface7queriesNtB5_7Queries15ongoing_codegen+0x6fe)[0x7f78a49b59ee]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2366add)[0x7f78a4985add]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x23632cd)[0x7f78a49822cd]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2367a2f)[0x7f78a4986a2f]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2365c55)[0x7f78a4984c55]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-713ba8e674184066.so(+0x2385d9a)[0x7f78a49a4d9a]
/home/ubuntu/.rustup/toolchains/nightly-2021-12-04-x86_64-unknown-linux-gnu/bin/../lib/libstd-13e2ae73269b4206.so(rust_metadata_std_f24903a91e569aa2+0xa99b3)[0x7f78a23599b3]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76db)[0x7f78a20986db]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7f78a19b571f]
error: build failed
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: BuildFailed', examples/cuda/cpu/add/build.rs:8:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
(upd: tried with clean target dir but got same error)
huh, ill investigate soon, its probably something broken in how something is handled WRT LLVM. Tho i dont expect that failure to be related to the miscompile
Hi
I am trying more examples with using crypto, and this time problem that I encounter is with integer arithmetic mismatch between GPU and CPU.
There is an example of the code: CPU and GPU
They both have same code of fiat_25519_to_bytes function, however result is slightly different for CPU and GPU
(note element 7 for example)
Understandably function is fairly large, however I was not able to reduce example. For instance, when trying to narrow down what happen I can see that basically result on this line is incorrect:
However, when taking this line out of context of large function it works perfectly fine on GPU, so the problem is likely with some kind of optimization that breaks integer arithmetics logic.