当我直接使用 TensorFlow 运行代码时,一切正常。
但是,当我在屏幕窗口中运行它时,出现以下错误。
ImportError: libcuda.so.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经尝试过命令:
source /etc/profile
Run Code Online (Sandbox Code Playgroud)
但这不起作用。
因为我使用ssh连接到服务器,所以屏幕是必要的。
我该如何修复它?
假设我有一个与设备关联的活动 CUDA 上下文i,我现在调用cudaSetDevice(i). 发生什么了?:
实际上似乎是不一致的。我写了这个程序,在一台机器上运行一个设备:
#include <cuda.h>
#include <cuda_runtime_api.h>
#include <cassert>
#include <iostream>
int main()
{
CUcontext ctx1, primary;
cuInit(0);
auto status = cuCtxCreate(&ctx1, 0, 0);
assert (status == (CUresult) cudaSuccess);
cuCtxPushCurrent(ctx1);
status = cudaSetDevice(0);
assert (status == cudaSuccess);
void* ptr1;
void* ptr2;
cudaMalloc(&ptr1, 1024);
assert (status == cudaSuccess);
cuCtxGetCurrent(&primary);
assert (status == (CUresult) cudaSuccess);
assert(primary != ctx1);
status = cuCtxPushCurrent(ctx1);
assert (status == (CUresult) cudaSuccess);
cudaMalloc(&ptr2, 1024);
assert (status == (CUresult) cudaSuccess); …Run Code Online (Sandbox Code Playgroud)