将张量流与 rocm 结合使用

Using tensoreflow with rocm

我正在使用 ROCM(Ubuntu HP envy x360 Ryzen 5 2500u)在我的 AMD (RavenRidge APU) 笔记本电脑上设置基于 tensorflow 的机器学习工作区

我已经安装了 rocm 并尝试使用基本的 tensorflow 脚本,但出现 HIP 错误。这是否意味着我的 GPU 与 rocm 不兼容?

2019-06-14 21:51:59.142628: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1189] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7538 MB memory) -> physical GPU (device: 0, name: AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx, pci bus id: 0000:03:00.0)
2019-06-14 21:51:59.221889: E tensorflow/stream_executor/rocm/rocm_driver.cc:601] failed to allocate 7.36G (7905050624 bytes) from device: hipError_t(1002)
2019-06-14 21:51:59.221972: E tensorflow/stream_executor/rocm/rocm_driver.cc:601] failed to allocate 6.62G (7114545152 bytes) from device: hipError_t(1002)
2019-06-14 21:51:59.221997: E tensorflow/stream_executor/rocm/rocm_driver.cc:601] failed to allocate 5.96G (6403090432 bytes) from device: hipError_t(1002)
2019-06-14 21:51:59.222021: E tensorflow/stream_executor/rocm/rocm_driver.cc:601] failed to allocate 5.37G (5762781184 bytes) from device: hipError_t(1002)
2019-06-14 21:51:59.222054: E tensorflow/stream_executor/rocm/rocm_driver.cc:601] failed to allocate 4.83G (5186503168 bytes) from device: hipError_t(1002)
2019-06-14 21:51:59.222090: E tensorflow/stream_executor/rocm/rocm_driver.cc:601] failed to allocate 4.35G (4667852800 bytes) from device: hipError_t(1002)
2019-06-14 21:52:05.830021: E tensorflow/stream_executor/rocm/rocm_driver.cc:461] failed to memset memory: HIP_ERROR_InvalidValue

由于主板的BIOS,目前恐怕还不能完全支持ROCm-HIP

请看这个。

https://github.com/RadeonOpenCompute/ROCm/wiki#not-supported-or-limited-support-under-rocm

我在 Ryzen 5 2400G 上遇到了同样的错误。这是 github 个讨论该问题的帖子。

https://github.com/ROCmSoftwarePlatform/tensorflow-upstream/issues/277

来自评论 #2

Hi Andreas. Our APUs are currently not supported by various components in the ROCm stack. Details on hardware support can be found here: https://github.com/RadeonOpenCompute/ROCm#supported-gpus


ROCm officially supports AMD GPUs that use following chips:

    GFX8 GPUs
        "Fiji" chips, such as on the AMD Radeon R9 Fury X and Radeon Instinct MI8
        "Polaris 10" chips, such as on the AMD Radeon RX 580 and Radeon Instinct MI6
    GFX9 GPUs
        "Vega 10" chips, such as on the AMD Radeon RX Vega 64 and Radeon Instinct MI25
        "Vega 7nm" chips, such as on the Radeon Instinct MI50, Radeon Instinct MI60 or AMD Radeon VII