cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

oranjules
Journeyman III

amdocl_ld32.exe and amdocl_as32.exe keep running

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 !

0 Likes
6 Replies
jtrudeau
Staff

You have been white listed, and I am moving this to the OpenCL forum. Thanks for joining our little band of developers.

0 Likes

Thanks ! I edited my message with my problem.

0 Likes
dipak
Big Boss

I've never observed the same before. Could you please provide the program that's creating the issue?

0 Likes

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)

0 Likes

Thanks for providing the source code. I'll check and get back to you shortly.

Regards,

0 Likes

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,

0 Likes