首页 > 解决方案 > CNTK NVidia RTX 3060 Cublas Failure 13 层数大于 512

问题描述

我有一个使用 EasyCNTK C# 在 CNTK 2.7 中有 2000 个神经元的 LSTM 网络,该网络在 CPU 和 Gigabyte NVidia RTX 2060 6GB 上运行良好,但在 Gigabyte NVidia RTX 3060 12GB 上,如果我增加超过 512 个的神经元数量(使用两张卡上相同的 NVidia 驱动程序版本 461.72)

这是我的神经网络配置

    int minibatchSize = 8;
    int epochCount = 10;
    int inputDimension = 10200;
    var device = DeviceDescriptor.GPUDevice(0);

    // check the current device for running neural networks
    Console.WriteLine($"Using device: {device.AsString()}");

    var model = new Sequential<double>(device, new[] { inputDimension }, inputName: "Input");            
    model.Add(new LSTM(2000, isLastLstm: false));
    model.Add(new LSTM(500, selfStabilizerLayer: new SelfStabilization<double>()));
    model.Add(new Residual2(128, new Tanh()));
    model.Add(new Residual2(1, new Tanh()));    

这是错误,我也收到了 Dense 或任何其他图层类型的错误

Unhandled Exception: System.ApplicationException: CUBLAS failure 13: CUBLAS_STATUS_EXECUTION_FAILED ; GPU=0 ; hostname=EVO ; expr=cublasgemmHelper(cuHandle, transA, transB, m, n, k, &alpha, a.Data(), (int) a.m_numRows, b.Data(), (int) b.m_numRows, &beta, c.Data(), (int) c.m_numRows)

[CALL STACK]
    > Microsoft::MSR::CNTK::TensorView<half>::  Reshaped
    - Microsoft::MSR::CNTK::CudaTimer::  Stop
    - Microsoft::MSR::CNTK::GPUMatrix<double>::  MultiplyAndWeightedAdd
    - Microsoft::MSR::CNTK::Matrix<double>::  MultiplyAndWeightedAdd
    - Microsoft::MSR::CNTK::TensorView<double>::  DoMatrixProductOf
    - Microsoft::MSR::CNTK::TensorView<double>::  AssignMatrixProductOf
    - std::enable_shared_from_this<Microsoft::MSR::CNTK::MatrixBase>::  shared_from_this (x3)
    - CNTK::Internal::  UseSparseGradientAggregationInDataParallelSGD
    - CNTK::  CreateTrainer
    - CNTK::Trainer::  TotalNumberOfUnitsSeen
    - CNTK::Trainer::  TrainMinibatch (x2)
    - CSharp_CNTK_Trainer__TrainMinibatch__SWIG_2
    - 00007FFF157B7E55 (SymFromAddr() error: The specified module could not be found.)

标签: c#nvidiacntk

解决方案


看起来 CNTK 不支持 CUDA 11 并且 RTX 3060 不支持 CUDA 10 或更早版本。


推荐阅读