CUDA8.0以及mxnet-cu80安装成功但在GPU上创建NDArray极慢

操作系统:Win10
CPU:i7-8750H
GPU:GTX 1660ti

CUDA:8.0
mxnet:mxnet-cu80

发现问题的经过:
在运行《动手学习深度学习》中的卷积神经网络LeNet代码时,因为训练速度较慢,因此考虑使用GPU进行运算,在一开始安装的CUDA版本为9.0,但是在训练过程中运行到asscalar()语句时会报错,错误信息如下:
c:\jenkins\workspace\mxnet-tag\mxnet\src\operator\nn./cudnn/cudnn_activation-inl.h:129: Check failed: e == CUDNN_STATUS_SUCCESS (8 vs. 0) cuDNN: CUDNN_STATUS_EXECUTION_FAILED

经过查阅,我在一个论坛中发现有人和我遇到了同样的问题,论坛链接如下:

解决方案是确保数据和参数都处于相同的内存块中,但是经过我仔细检查自己的代码,发现所有的数据和参数都都保存在gpu0上,因此问题可能并不是这个原因导致的
又是一顿查阅资料,发现一个帖子说如果显卡的算力不足,cudnn的版本过高也可能会导致此问题,1660ti的算力所能支持的cudnn最高版本为5.0,但mxnet-cu90所搭配的cudnn版本为7.0,因此我卸载了CUDA9.0,mxnet-cu90并重新安装了CUDA8.0和mxnet-cu80,安装完成后我发现与mxnet-cu80搭配的cudnn版本仍为7.0.

但我并没有更改cudnn的版本,而是尝试重新运行代码,但是在运行代码的时候发现了如下问题:
1.代码运行过程中并没有报错,但是每次迭代过后的损失函数值并没有输出,且内存占用极高,GPU占用率为0:


2.在发现第一个问题后,我逐渐增大BatchSize并调整学习率,但是问题并没有得到解决
3.这时,我考虑到是不是在执行某一行代码时卡住了,这个代码中GPU与CPU运算的唯一区别就是将数据储存在了GPU上,因此我在控制台中创建一个储存在GPU上的NDArray数组
我从12:14分执行了创建矩阵语句,但在12:19时才创建成功,仅仅是创建一个矩阵就耗费了5分钟的时间,我认为这也是花费如此长时间的问题所在。

目前代码运行时卡在了初始化阶段,我也不知道在迭代过程中运行到asscalar()语句时是否会出现与之前一样的问题。

望各位大佬提供帮助,万分感谢

补上问题3中的运行截图