【问题标题】:Tensorflow 1.14 performance issue on rtx 3090rtx 3090 上的 Tensorflow 1.14 性能问题
【发布时间】:2021-02-04 07:06:18
【问题描述】:

我在 4x RTX 3090 上运行使用 TensorFlow 1.x 编写的模型,开始训练比在 1x RTX 3090 上花费的时间要长。尽管随着训练的开始,它在 4x 中比在 1x 中更早完成。我在两个 GPU 中都使用 CUDA 11.1 和 TensorFlow 1.14。

其次,当我使用 1x RTX 2080ti、CUDA 10.2 和 TensorFlow 1.14 时,与 1x RTX 3090、11.1 CUDA 和 TensorFlow 1.14 相比,开始训练所需的时间更少。暂定,1x RTX 2080ti 需要 5 分钟,1x RTX 3090 需要 30-35 分钟,4x RTX 3090 需要 1.5 小时开始训练其中一个数据集。

如果有人能帮我解决这个问题,我将不胜感激。

我在 2080ti 和 3090 机器上使用 Ubuntu 16.04、Core™ i9-10980XE CPU 和 32 GB 内存。

编辑:根据to this,我发现 TF 在 Ampere 架构 GPU 中的启动时间很长,但我仍然不清楚是否是这种情况;并且,如果这种情况,是否存在任何解决方案?

【问题讨论】:

标签: tensorflow nvidia stylegan


【解决方案1】:

T.F. 1.x 没有 CUDA 11.1 的二进制文件,所以在开始时,编译需要时间。因为 RTX 3090 使用 PTX 和 JIT 编译器进行编译,所以需要很长时间。
对此的一般解决方案是增加缓存大小。使用代码:-“export CUDA_CACHE_MAXSIZE=2147483648”(这里 2147483648 是缓存大小,您可以通过考虑内存限制和它在其他进程中的使用情况来设置任何数字帐户中)。有关说明,请参阅https://www.tensorflow.org/install/gpu。由此在以后的运行中,启动时间会很小。但即使在此之后,生成的二进制文件(在此开始时)将与 CUDA 11.1 不兼容

最好是从 T.F. 迁移代码。 1.x 到 2.x(2.4+) 使其在 RTX 30XX 系列上运行或尝试编译 T.F. 1.x 来自 CUDA 11.1 的源代码(不确定)。

【讨论】:

    【解决方案2】:

    正如 Thunder 解释的那样,Nvidia Ampere GPU 不支持 TensorFlow 1.x,而且看起来永远不会支持,因为 Ampere 流式多处理器 (SM_86) 仅在 CUDA 11.1 上受支持,请参阅https://forums.developer.nvidia.com/t/can-rtx-3080-support-cuda-10-1/155849/2 和 TensorFlow 1。 x 暂时不完全支持新版本的 CUDA,原因可能与上面链接中描述的类似。不幸的是,TensorFlow 1.x 版不再受支持或维护,请参阅https://github.com/tensorflow/tensorflow/issues/43629#issuecomment-700709796

    但是,如果您必须使用 Stylegan 2 模型,您可能会遇到 Nvidia Tensorflow,它显然支持 Ampere GPU 上的 1.15 版本,请参阅https://developer.nvidia.com/blog/accelerating-tensorflow-on-a100-gpus/

    【讨论】:

      【解决方案3】:

      这是 linux 上建议的解决方案: https://www.pugetsystems.com/labs/hpc/How-To-Install-TensorFlow-1-15-for-NVIDIA-RTX30-GPUs-without-docker-or-CUDA-install-2005/

      在 Windows 上,我设法让我的 RTX3080TI 使用带有 directml 的 WSL2 与 TF 1.15 一起工作:

      https://docs.microsoft.com/en-us/windows/ai/directml/gpu-tensorflow-wsl

      与我的 RTX2080TI 相比,结果大约快 1.5 倍。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-06
        • 1970-01-01
        • 2021-03-26
        • 2020-02-29
        • 2021-05-19
        • 1970-01-01
        • 2019-12-09
        • 2021-04-20
        相关资源
        最近更新 更多