PyOpenCLはじめました
python 3でnumpy、PyOpenCLのインストールが最低必要
はい
長過ぎる笑
むりくりOpenCLで文字列扱ってるから逆に難しくなってしまった
多分1+1=2の計算をやるほうが簡単
python 3でnumpy、PyOpenCLのインストールが最低必要
# -*- coding: utf-8 -*- import numpy as np import pyopencl as cl ctx = cl.create_some_context() queue = cl.CommandQueue(ctx) data_mem=cl.Buffer(ctx,cl.mem_flags.READ_WRITE,32) hostdata=np.empty(32, dtype = np.int8) global_work_size=(1,1) local_work_size=(1,1) prg_string=""" __kernel void hello(__global char* string) { string[0] = 'H'; string[1] = 'e'; string[2] = 'l'; string[3] = 'l'; string[4] = 'o'; string[5] = ','; string[6] = ' '; string[7] = 'W'; string[8] = 'o'; string[9] = 'r'; string[10] = 'l'; string[11] = 'd'; string[12] = '!'; } """ program=cl.Program(ctx,prg_string).build() kernel_h=cl.Kernel(program,"hello") kernel_h.set_arg(0,data_mem) cl.enqueue_nd_range_kernel(queue,kernel_h,global_work_size,local_work_size) cl.enqueue_read_buffer(queue,mem=data_mem,hostbuf=hostdata) res_string="" for i in range(len(hostdata)): res_string=res_string+(chr(hostdata[i])) print(res_string)
はい
長過ぎる笑
むりくりOpenCLで文字列扱ってるから逆に難しくなってしまった
多分1+1=2の計算をやるほうが簡単