Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用pycuda处理带字符串的结构化numpy数组?_Python_Pycuda - Fatal编程技术网

Python 如何使用pycuda处理带字符串的结构化numpy数组?

Python 如何使用pycuda处理带字符串的结构化numpy数组?,python,pycuda,Python,Pycuda,首先,我从csv文件中获得了结构化数组: columns = [] columns.append(('DAY', 'uint8')) columns.append(('MONTH', 'uint8')) columns.append(('YEAR', 'uint16')) columns.append(('CLIENT_NAME', 'U13')) #ATTENTION!!! columns.append(('QUANTITY', 'uint32')) dtype = np.dtype(colu

首先,我从csv文件中获得了结构化数组:

columns = []
columns.append(('DAY', 'uint8'))
columns.append(('MONTH', 'uint8'))
columns.append(('YEAR', 'uint16'))
columns.append(('CLIENT_NAME', 'U13')) #ATTENTION!!!
columns.append(('QUANTITY', 'uint32'))
dtype = np.dtype(columns)  

data_from_file = np.fromregex(file='/home/semen/deals.csv', regexp=regular_expression, dtype=dtype)
其次,我尝试使用PyCuda执行此数据:

mod = SourceModule("""
    #define uint unsigned int
    #define uchar unsigned char
    #define ushort unsigned short int
    
    struct FileData{
        uchar DAY;
        uchar MONTH;
        ushort YEAR;
        std::string CLIENT_NAME; #ATTENTION!!!
        uint QUANTITY;
    };
    
    __global__ void crate_date_and_time_struct(const uint N, FileData* initial_data, uint* dates){
        const int idx = threadIdx.x + blockIdx.x * blockDim.x;
        if(idx >= N) return;
        
        FileData record = initial_data[idx];
        dates[idx] = 10000 * record.YEAR + 100 * record.MONTH + record.DAY;
    }
    """)
但我得到了一个错误:

pycuda.driver.CompileError:nvcc编译 /tmp/tmpx6ywxfnh/kernel.cu失败[命令:nvcc--cubin-arch sm_61 -I/home/semen/.local/lib/python3.8/site-packages/pycuda/cuda kernel.cu][stderr:kernel.cu(26):错误:命名空间“std”没有 成员“字符串”

编译“kernel.cu”时检测到1个错误。]

如何在Pycuda中使用字符串