Portál AbcLinuxu, 7. května 2025 05:15
#include <CL/cl.hpp> void main(){ cl_platform_id platform; clGetPlatformIDs(1, &platform, 0); cl_device_id device; clGetDeviceIDs(platform, CL_DEVICE_TYPE_DEFAULT, 1, &device, 0); cl_context_properties props[] = { CL_CONTEXT_PLATFORM, (cl_context_properties)platform, 0 }; cl_int err = 0; cl_context context = clCreateContext(props,1,&device,0,0,&err); cout << "ErrorCode:" << err << endl; }
Řešení dotazu:
A signed two's complement 32-bit integer.
Z nějakého důvodu jim ale mozek nedovolil použít int32_t? Pokud na takové platformě totiž opencl běží, takový typ snad musí existovat a tedy int32_t bude taky existovat. Ale né, za každou cenu budeme nutit uživatele používat vlastní datové typy, aby kód byl za každou cenu co nejnepřehlednější a zprasený.
Takové API by snad ani nikdo neměl používat a OpenCL bojkotovat a najít si alternativu. Fůj.
A signed two's complement 32-bit integer
? Pokud takový typ existuje, musí int32_t v stdint.h být. Pokud neexistuje, těžko by bylo možné vytvořit C API pro takové GPU. Ale ok, už mlčím, jenom musím prudit, protože to občas pomáhá, někdo si toho všimne a pak třeba upustí od kravin, že si bude definovat vlastní celočíselné typy pro každou kravinu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.