有没有办法检查mxnet是否使用我的gpu?

时间:2018-03-02 19:30:26

标签: tensorflow gpu mxnet

我能看到mxnet可用的gpus是什么吗?

tensorflow的内容是否类似

tf.test.gpu_device_name()

在mxnet中?

3 个答案:

答案 0 :(得分:9)

检查GPU是否被利用的最终方法是使用nvidia-smi命令。我最喜欢的论点是:

nvidia-smi --query-gpu=timestamp,name,pci.bus_id,driver_version,pstate,pcie.link.gen.max,pcie.link.gen.current,temperature.gpu,utilization.gpu,utilization.memory,memory.total,memory.free,memory.used --format=csv -l 1

如果您只想测试gpu支持是否可用(这是tf.test.gpu_device_name())的作用,以下功能可以提供帮助:

import mxnet as mx 
def gpu_device(gpu_number=0):
    try:
        _ = mx.nd.array([1, 2, 3], ctx=mx.gpu(gpu_number))
    except mx.MXNetError:
        return None
    return mx.gpu(gpu_number)

如果请求的gpu设备不可用,则此函数返回None,如果gpu设备可用,则返回相关的上下文。您还可以使用此功能检查此系统上是否支持GPU:

if not gpu_device():
    print('No GPU device found!')

答案 1 :(得分:0)

如果您是从源代码构建的

>>> from mxnet.runtime import feature_list
>>> feature_list()
[✔ CUDA, ✔ CUDNN, ✖ NCCL, ✔ CUDA_RTC, ✖ TENSORRT, ✔ CPU_SSE, ✔ CPU_SSE2, ✔ CPU_SSE3, ✔ CPU_SSE4_1, ✔ CPU_SSE4_2, ✖ CPU_SSE4A, ✔ CPU_AVX, ✖ CPU_AVX2, ✖ OPENMP, ✖ SSE, ✔ F16C, ✔ JEMALLOC, ✖ BLAS_OPEN, ✖ BLAS_ATLAS, ✖ BLAS_MKL, ✖ BLAS_APPLE, ✔ LAPACK, ✔ MKLDNN, ✔ OPENCV, ✖ CAFFE, ✖ PROFILER, ✖ DIST_KVSTORE, ✖ CXX14, ✖ INT64_TENSOR_SIZE, ✖ SIGNAL_HANDLER, ✖ DEBUG]

在这里,CUDA和CUDNN在构建标记中处于打开状态,表明它是使用GPU进行构建的!

答案 2 :(得分:0)

检查 <VictoryBar data={[ {x: 1, y: 2, label: "A"}, {x: 2, y: 4, label: "B"}, {x: 3, y: 7, label: "C"}, {x: 4, y: 3, label: "D"}, {x: 5, y: 5, label: "E"}, ]} events={[{ target: "data", eventHandlers: { onPress: () => { return [ { mutation: (props) => { return props.text === "clicked" ? null : { text: "clicked" } } } ]; } } }]} /> 是否列出了GPU。

mxnet

要使用它,请确保在需要参数 context 的地方传递参数import mxnet as mx mx.context.num_gpus() mx.gpu(0)是GPU的指标,如果是多GPU,还会有其他索引。