TurboTransformers icon indicating copy to clipboard operation
TurboTransformers copied to clipboard

turbo推理时gpu卡号设置

Open zejunwang1 opened this issue 4 years ago • 4 comments

hi 你好: 我想问一下,在使用turbo进行bert推理时,有能设置使用gpu的device_id相关的代码吗?大概在哪块?

zejunwang1 avatar Feb 07 '21 01:02 zejunwang1

可以看一下这个issue https://github.com/Tencent/TurboTransformers/issues/70

feifeibear avatar Feb 07 '21 02:02 feifeibear

问下哈: https://github.com/Tencent/TurboTransformers/blob/master/turbo_transformers/core/tensor.h 中 NewDLPackTensorT里面的device_id是gpu的device id嘛: template <typename T> inline DLManagedTensor *NewDLPackTensorT(const std::vector<int64_t> &shape_list, DLDeviceType device = kDLCPU, int device_id = 0, const std::string &name = "") { return NewDLPackTensor(shape_list, device, device_id, details::DataTypeTrait<T>::DLPackTypeCode, sizeof(T) * 8, 1, name); } 我把这个device_id设置为3后,打印推理中间tensor变量的device_id是3,但是用nvidia-smi命令显示还是在0卡上。 这个是cuda的什么地方还没设置嘛?

zejunwang1 avatar Feb 07 '21 03:02 zejunwang1

可能因为你的pytorch的张量都还在device_id=0上

feifeibear avatar Feb 07 '21 05:02 feifeibear

在xshell里首先执行: export CUDA_VISIBLE_DEVICES=3 就可以在gpu的3卡上运行turbo_transformers

zejunwang1 avatar Apr 02 '21 01:04 zejunwang1