cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

set
Adept I

clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver

clEnqueueReadBufferRect/clEnqueueWriteBufferRect worked with no problems in 14.9 and 14.4, but now in 14.12 they are completely broken on HD6950 / Win7 x64.

Can anyone else confirm this?

Even trivial code (with inline arrays pseudocode)


clEnqueueWriteBufferRect(queue, cl_buf, CL_FALSE, {0, 0, 0}, {0, 0, 0}, {width, height, 1}, width, 0, width, 0, src, 0, NULL, NULL);


clEnqueueReadBuffer(queue, cl_buf, CL_TRUE, 0, width*height, dst, 0, NULL, NULL);


doesn't work anymore. Replacing first line with plain write works fine:


clEnqueueWriteBuffer(queue, cl_buf, CL_FALSE, 0, width*height, src, 0, NULL, NULL);


Tags (3)
0 Likes
5 Replies
dipak
Staff
Staff

Re: clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver

Thanks for reporting this. We'll check and get back to you.

0 Likes
dipak
Staff
Staff

Re: clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver

Hi,

I guess this is same as clEnqueueWriteBufferRect does not work when region width is not equal to src pitch: broken again in ....  I'm able to reproduce the issue on HD 6970 (cayman XT) with latest Omega driver (windows 7 64bit) by using the same sample code given on that post. I've shared my observation there. Please check and let us know your finding.

Regards,

natasha
Elite

Re: clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver

The Linux 14.12 version of the driver is also broken in this relation.

These two functions don't work properly on the active card.

# lsb_release -idrc && uname -r

Distributor ID: SUSE LINUX

Description:    openSUSE 12.2 (x86_64)

Release:        12.2

Codename:      Mantis

3.4.63-2.44-desktop

# aticonfig --list-adapters

* 0. 01:00.0 AMD Radeon HD 7900 Series

  1. 02:00.0 AMD Radeon HD 5800 Series

* - Default adapter

With kernel performing copying data from input to output arrays obtain wrong result with clEnqueueWrite/ReadBufferRect functions on the primary card:

:::::::::::::::::::::::::::::::::::::::::::::::::::::

Platform: AMD Accelerated Parallel Processing

Device: Tahiti (GPU)    Driver: 1642.5 (VM)

:::::::::::::::::::::::::::::::::::::::::::::::::::::

         Input           Output

[0]      0.000000        0.000000

[1]      0.841471        0.909297

[2]      0.909297       -0.756802

[3]      0.141120       -0.279415

[4]     -0.756802        0.989358

[5]     -0.958924       -0.544021

[6]     -0.279415       -0.536573

[7]      0.656987        0.990607

[8]      0.989358        0.000000

[9]      0.412118        0.000000

[10]    -0.544021        0.000000

[11]    -0.999990        0.000000

[12]    -0.536573        0.000000

[13]     0.420167        0.000000

[14]     0.990607        0.000000

[15]     0.650288        0.000000

[16]    -0.287903        0.000000

[17]    -0.961397        0.912945

[18]    -0.750987        0.836656

[19]     0.149877       -0.008851

[20]     0.912945       -0.846220

[21]     0.836656       -0.905578

[22]    -0.008851       -0.132352

[23]    -0.846220        0.762558

[24]    -0.905578        0.956376

[25]    -0.132352        0.270906

[26]     0.762558       -0.663634

[27]     0.956376       -0.988032

[28]     0.270906       -0.404038

[29]    -0.663634        0.551427

[30]    -0.988032        0.999912

[31]    -0.404038        0.000000

:::::::::::::::::::::::::::::::::::::::::::::::::::::

Platform: AMD Accelerated Parallel Processing

Device: Cypress (GPU)   Driver: 1642.5

:::::::::::::::::::::::::::::::::::::::::::::::::::::

         Input           Output

[0]      0.000000        0.000000

[1]      0.841471        0.841471

[2]      0.909297        0.909297

[3]      0.141120        0.141120

[4]     -0.756802       -0.756802

[5]     -0.958924       -0.958924

[6]     -0.279415       -0.279415

[7]      0.656987        0.656987

[8]      0.989358        0.989358

[9]      0.412118        0.412118

[10]    -0.544021       -0.544021

[11]    -0.999990       -0.999990

[12]    -0.536573       -0.536573

[13]     0.420167        0.420167

[14]     0.990607        0.990607

[15]     0.650288        0.650288

[16]    -0.287903       -0.287903

[17]    -0.961397       -0.961397

[18]    -0.750987       -0.750987

[19]     0.149877        0.149877

[20]     0.912945        0.912945

[21]     0.836656        0.836656

[22]    -0.008851       -0.008851

[23]    -0.846220       -0.846220

[24]    -0.905578       -0.905578

[25]    -0.132352       -0.132352

[26]     0.762558        0.762558

[27]     0.956376        0.956376

[28]     0.270906        0.270906

[29]    -0.663634       -0.663634

[30]    -0.988032       -0.988032

[31]    -0.404038       -0.404038

whereas with the 14.9 driver all is ok:

:::::::::::::::::::::::::::::::::::::::::::::::::::::

Platform: AMD Accelerated Parallel Processing

Device: Tahiti (GPU)    Driver: 1573.4 (VM)

:::::::::::::::::::::::::::::::::::::::::::::::::::::

         Input           Output

[0]      0.000000        0.000000

[1]      0.841471        0.841471

[2]      0.909297        0.909297

[3]      0.141120        0.141120

[4]     -0.756802       -0.756802

[5]     -0.958924       -0.958924

[6]     -0.279415       -0.279415

[7]      0.656987        0.656987

[8]      0.989358        0.989358

[9]      0.412118        0.412118

[10]    -0.544021       -0.544021

[11]    -0.999990       -0.999990

[12]    -0.536573       -0.536573

[13]     0.420167        0.420167

[14]     0.990607        0.990607

[15]     0.650288        0.650288

[16]    -0.287903       -0.287903

[17]    -0.961397       -0.961397

[18]    -0.750987       -0.750987

[19]     0.149877        0.149877

[20]     0.912945        0.912945

[21]     0.836656        0.836656

[22]    -0.008851       -0.008851

[23]    -0.846220       -0.846220

[24]    -0.905578       -0.905578

[25]    -0.132352       -0.132352

[26]     0.762558        0.762558

[27]     0.956376        0.956376

[28]     0.270906        0.270906

[29]    -0.663634       -0.663634

[30]    -0.988032       -0.988032

[31]    -0.404038       -0.404038

The clEnqueueWriteBufferRect doesn't react on the  buffer_row_pitch parameter, whereas clEnqueueWriteBufferRect does something, but not what it must do.

Regards, Natalia

0 Likes
dipak
Staff
Staff

Re: clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver

Hi Natalia,

Thanks for reporting this.

I already filed an bug report against a similar issue (please see  clEnqueueWriteBufferRect does not work when region width is not equal to src pitch: broken again in .... ) and our engg. team is working on it. If I get any update, I'll share with you.

Regards,

0 Likes
natasha
Elite

Re: clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver

Thank you, Dipak.

0 Likes