juice icon indicating copy to clipboard operation
juice copied to clipboard

CUDNN Bidirectional Fails

Open lissahyacinth opened this issue 4 years ago • 1 comments

Summary

RNN Forward fails with CUDNN RNN when using Bidirectional as a direction mode as compared to Unidirectional.

Code Snippet

    net_cfg.add_layer(LayerConfig::new(
        // Layer name is only used internally - can be changed to anything
        "LSTMInitial",
        RnnConfig {
            hidden_size: 5,
            num_layers: 1,
            dropout_seed: 123,
            dropout_probability: 0.5,
            rnn_type: RnnNetworkMode::LSTM,
            input_mode: RnnInputMode::LinearInput,
            direction_mode: DirectionMode::BiDirectional,
        },
    ));

Command & Error

C:/Users/Lissa/.cargo/bin/cargo.exe +stable run --color=always --no-default-features --features cuda,native train --file=NetworkOut.juice
warning: Running bindgen(cublas-sys), make sure to have all required host libs installed!
warning: Running bindgen(cudnn-sys), make sure to have all required host libs installed!
   Compiling example-rnn-regression v0.0.1 (D:\BitBucket\juice\juice-examples\mackey-glass-rnn-regression)
    Finished dev [unoptimized + debuginfo] target(s) in 44.77s
     Running `target\debug\example-rnn-regression.exe train --file=NetworkOut.juice`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Plugin(Plugin("Unable to perform RNN Forward"))', D:\BitBucket\juice\juice\src\layers\common\rnn.rs:206:9
Stacktrace

stack backtrace:
   0:     0x7ff7fc53888f - backtrace::backtrace::trace_unsynchronized
                               at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace\mod.rs:66
   1:     0x7ff7fc53888f - std::sys_common::backtrace::_print_fmt
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\sys_common\backtrace.rs:78
   2:     0x7ff7fc53888f - std::sys_common::backtrace::_print::{{impl}}::fmt
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\sys_common\backtrace.rs:59
   3:     0x7ff7fc54e2bb - core::fmt::write
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libcore\fmt\mod.rs:1069
   4:     0x7ff7fc5361cc - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\io\mod.rs:1504
   5:     0x7ff7fc53b70c - std::sys_common::backtrace::_print
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\sys_common\backtrace.rs:62
   6:     0x7ff7fc53b70c - std::sys_common::backtrace::print
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\sys_common\backtrace.rs:49
   7:     0x7ff7fc53b70c - std::panicking::default_hook::{{closure}}
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\panicking.rs:198
   8:     0x7ff7fc53b34f - std::panicking::default_hook
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\panicking.rs:218
   9:     0x7ff7fc53bef7 - std::panicking::rust_panic_with_hook
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\panicking.rs:511
  10:     0x7ff7fc53ba7f - std::panicking::begin_panic_handler
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\panicking.rs:419
  11:     0x7ff7fc54c250 - core::panicking::panic_fmt
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libcore\panicking.rs:111
  12:     0x7ff7fc54c073 - core::option::expect_none_failed
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libcore\option.rs:1268
  13:     0x7ff7fbfc94c0 - core::result::Result<(), coaster::error::Error>::unwrap<(),coaster::error::Error>
                               at C:\Users\Lissa\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\result.rs:1005
  14:     0x7ff7fc13a933 - juice::layers::common::rnn::{{impl}}::compute_output<coaster::backend::Backend<coaster::frameworks::cuda::Cuda>>
                               at D:\BitBucket\juice\juice\src\layers\common\rnn.rs:206
  15:     0x7ff7fc13ce61 - juice::layer::ILayer::forward<juice::layers::common::rnn::Rnn<coaster::backend::Backend<coaster::frameworks::cuda::Cuda>>,coaster::backend::Backend<coaster::frameworks::cuda::Cuda>>
                               at D:\BitBucket\juice\juice\src\layer.rs:1096
  16:     0x7ff7fc014163 - juice::layer::Layer<coaster::backend::Backend<coaster::frameworks::cuda::Cuda>>::forward<coaster::backend::Backend<coaster::frameworks::cuda::Cuda>>
                               at D:\BitBucket\juice\juice\src\layer.rs:558
  17:     0x7ff7fc065569 - juice::layers::container::sequential::{{impl}}::forward<coaster::backend::Backend<coaster::frameworks::cuda::Cuda>>
                               at D:\BitBucket\juice\juice\src\layers\container\sequential.rs:301
  18:     0x7ff7fc014163 - juice::layer::Layer<coaster::backend::Backend<coaster::frameworks::cuda::Cuda>>::forward<coaster::backend::Backend<coaster::frameworks::cuda::Cuda>>
                               at D:\BitBucket\juice\juice\src\layer.rs:558
  19:     0x7ff7fc06d074 - juice::solver::Solver<coaster::backend::Backend<coaster::frameworks::cuda::Cuda>, coaster::backend::Backend<coaster::frameworks::cuda::Cuda>>::train_minibatch<coaster::backend::Backend<coaster::frameworks::cuda::Cuda>,coaster::backend::Backend<coaster::fr
                               at D:\BitBucket\juice\juice\src\solver\mod.rs:79
  20:     0x7ff7fc0697fd - example_rnn_regression::train
                               at D:\BitBucket\juice\juice-examples\mackey-glass-rnn-regression\src\main.rs:189
  21:     0x7ff7fc06aeda - example_rnn_regression::main
                               at D:\BitBucket\juice\juice-examples\mackey-glass-rnn-regression\src\main.rs:265
  22:     0x7ff7fc0613db - std::rt::lang_start::{{closure}}<()>
                               at C:\Users\Lissa\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\rt.rs:67
  23:     0x7ff7fc53c10a - std::rt::lang_start_internal::{{closure}}
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\rt.rs:52
  24:     0x7ff7fc53c10a - std::panicking::try::do_call
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\panicking.rs:331
  25:     0x7ff7fc53c10a - std::panicking::try
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\panicking.rs:274
  26:     0x7ff7fc53c10a - std::panic::catch_unwind
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\panic.rs:394
  27:     0x7ff7fc53c10a - std::rt::lang_start_internal
                               at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\/src\libstd\rt.rs:51
  28:     0x7ff7fc0613b3 - std::rt::lang_start<()>
                               at C:\Users\Lissa\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\rt.rs:67
  29:     0x7ff7fc06af90 - main
  30:     0x7ff7fd234b34 - invoke_main
                               at d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  31:     0x7ff7fd234b34 - __scrt_common_main_seh
                               at d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  32:     0x7ffc19376fd4 - BaseThreadInitThunk
  33:     0x7ffc1b29cec1 - RtlUserThreadStart
error: process didn't exit successfully: `target\debug\example-rnn-regression.exe train --file=NetworkOut.juice` (exit code: 101)

lissahyacinth avatar Jun 27 '20 13:06 lissahyacinth

Should also be covered by #139

drahnr avatar Apr 09 '21 10:04 drahnr