Hi,
I want to develop a program in C++ using OpenCL, and I'm having a few issues with the AMD APP SDK.
When I launch my program, it runs a lot of amdocl_ld32.exe and amdocl_as32.exe instances (located in C:\Program Files (x86)\AMD APP SDK\2.9-1\bin\x86)
. As the program is a loop, I suspect it launches these every time the function is called (apparently, it is around "program.build(devices)")
Is it normal ? I can't reproduce this on another OpenCL example I found. This also prevents me from seeing if my program works, since it only launches these 2 (in console windows) and doesn't change my program, which then does not respond.
Thank you very much for your help !
You have been white listed, and I am moving this to the OpenCL forum. Thanks for joining our little band of developers.
Thanks ! I edited my message with my problem.
I've never observed the same before. Could you please provide the program that's creating the issue?
It's only the initialization : (I checked after moving it outside the loop, and I only get the windows once)
CL example;
#include "kernel.cl" //const char* kernel_source is defined in here
example.loadProgram(kernel_source);
The CL class is defined in the file cll.cpp in adventures_in_opencl/part1.5 at master · enjalot/adventures_in_opencl · GitHub
I used this implementation, but for the given example it doesn't show the windows (or I don't see them)
Thanks for providing the source code. I'll check and get back to you shortly.
Regards,
Hi,
I didn't find any issue after running the application (built as a VS project) on a Window 7 (64bit) m/c. I even tried to run the steps inside a loop as below. But, didn't observe any issue as you mentioned.
#include "part1.cl" //const char* kernel_source is defined in here
for (auto i = 0; i < 100; i++) {
example.loadProgram(kernel_source);
//initialize the kernel and send data from the CPU to the GPU
example.popCorn();
//execute the kernel
example.runKernel();
}
I got following output (without loop):
Hello, OpenCL
Initialize OpenCL object and context
cl::Platform::get(): CL_SUCCESS
number of platforms: 1
number of devices 1
load the program
kernel size: 211
build program
done building program
Build Status: 0
Build Options:
Build Log:
in popCorn
Creating OpenCL arrays
Pushing data to the GPU
in runKernel
clEnqueueNDRangeKernel: CL_SUCCESS
clEnqueueReadBuffer: CL_SUCCESS
c_done[0] = 0
c_done[1] = 2
c_done[2] = 4
c_done[3] = 6
c_done[4] = 8
c_done[5] = 10
c_done[6] = 12
c_done[7] = 14
c_done[8] = 16
c_done[9] = 18
Please verify my steps and let me know if I missed anything.
Regards,