如何处理“错误:缺少结束报价”

2024-05-23 14:09:08 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行这个pycuda示例时,其中的一个内核部分可以在C解释器中正确运行:

import pycuda.driver as cuda
import pycuda.autoinit
from pycuda.compiler import SourceModule

mod = SourceModule("""

#include<stdio.h>

__global__ void say_hi(){
    printf("I am %dth thread in : \
            threadIdx.x:%d, threadIdx.y:%d,\
            blockIdx.x:%d, blockIdx.y:%d,\
            blockDim.x:%d, blockDim.y:%d.\n",
            (threadIdx.x+threadIdx.y*blockDim.x+ \
                (blockIdx.x*blockDim.x*blockDim.y)+ \
                (blockIdx.y*blockDim.x*blockDim.y)),
            threadIdx.x, threadIdx.y,
            blockIdx.x, blockIdx.y,
            blockDim.x, blockDim.y);
    }
""")

func = mod.get_function("say_hi")
func(block=(4, 4, 4), grid=(2, 2, 1))

但出现了错误:

pycuda.driver.CompileError: nvcc compilation of C:\xxx\Local\Temp\tmpqfqdmr3f\kernel.cu failed
[command: nvcc --cubin -arch sm_75 -m64 -Id:\xxx\anaconda\envs\tensorflow\lib\site-packages\pycuda\cuda kernel.cu]
[stdout:
kernel.cu(6): error: missing closing quote

kernel.cu(7): error: missing closing quote

2 errors detected in the compilation of "kernel.cu".
kernel.cu
]

我的编译器有问题吗 如果有人有想法,请提供帮助(抱歉,问题太长)


Tags: inimportpycudamoddriverhikernelcuda