TurboTransformers
TurboTransformers copied to clipboard
turbo推理时gpu卡号设置
hi 你好: 我想问一下,在使用turbo进行bert推理时,有能设置使用gpu的device_id相关的代码吗?大概在哪块?
可以看一下这个issue https://github.com/Tencent/TurboTransformers/issues/70
问下哈: 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的什么地方还没设置嘛?
可能因为你的pytorch的张量都还在device_id=0上
在xshell里首先执行: export CUDA_VISIBLE_DEVICES=3 就可以在gpu的3卡上运行turbo_transformers