Search the Community
Showing results for tags 'opencl'.
-
Hello. Here's a small project of mine. Early last year, AndyG wrote OpenCL headers for AutoIt, so you could use GPGPU on OpenCL supported devices. Now, there's a problem. There is some kind of battle going on between OpenCL and CUDA, the latter being NVIDIA exclusive. All of those highly polished GPGPU APIs are highly complex and hard to use in a real script. My goal is to eliminate the hurdle of "well, I don't really want to use this bloated API for this small project" and make GPGPU (not only) in AutoIt very feasible, even for beginners. So I started working on MiniCL. The idea is simple: has to run on AMD, NIVIDIA and Intel GPUshas to be self-contained, no other libraries requiredas user-friendly as possible, seperate the user completely from any kind of graphics work MiniCL 0.03 (CURRENT) Please download the attached zip and open Testing.au3Change the constant in line 75, try every constantIf the output is correct (~25), note that constantUse GPU-Z to determine your exact GPU modelCopy the compatibility chart at the start of the script and put in your GPU model and all working constantsYou should have something like this: ;---------------------------------------------------------------------------------------------------------------------------+ ; AMD Radeon(TM) R5 Graphics (Engineering Sample - WDDM v2.0) $GL_RGBA32F_ARB 32 bit 4 fpd | ; $GL_RGB32F_ARB 32 bit 3 fpd | ; $GL_INTENSITY32F_ARB 32 bit 1 fpd | ; $GL_RGBA16F_ARB 16 bit 4 fpd | ; $GL_RGB16F_ARB 16 bit 3 fpd | ; $GL_INTENSITY16F_ARB 16 bit 1 fpd | ; $GL_LUMINANCE_ALPHA16F_ARB 16 bit 1 fpd | ;---------------------------------------------------------------------------------------------------------------------------+ Please post it here in this thread. Don't do this if your GPU was already posted (some new AMD cards are just rebranded old cards...). Features: Compatible with all GPUsSelf-ContainedKernels are written in GLSL syntaxManipulates Arrays ByRef, no conversion has to be done by the userSmall, measuring 250kB ToDo (Features not yet implemented): Pass unlimited Input and Output structsautoconvert AutoIt ArraysPass multiple kernelPing-Pong support in a single MiniCL instanceAuto-Limit array size to the max the GPU can handleAdding debug optionswhatever will pop into my mad mind... Remarks Fancy graphs will be added later on. Downloads 0.03.zip