On AMD 7870, 16.12.2
It seams this is reproducible on Win 10 so there could be some issue with WDDM 2.0 and older GCN1 cards.
1. Go to File->User Preferences-System - Check OpenCl, save user settings
2. Click Emulate Numpad , save settings and close window
3. Press number 0 on numpad (you will go to camera view)
4.Switch to Cycles and device GPU compute. Set tile size to 512x512 under Performance.
5. Go to create tab -> Plane, radius 50
6. Right click on cube -> Click ROUND ICON, Click New material
7. Render the scene, wait while scene is rendered
8. Go to this tab and click 3D view
9. Go to this tab, click on it and click Rendered (wait while kernels are loaded )
10. Go to the same tab again and click Solid (wait while kernels are loaded )
11.Go to material tab of the cube from step 6. and change roughness of material
12. Repeat step 9. and 10.
13. Click render again, click Window -> Toggle system console
As I ran the same on similar setup, I didn't observe any such error. Please find the setup details as below:
Windows 10(64) (RAM 4GB)
HD 7870 (Global memory 2GB)
Could you try this steps but using bigger tile sizes and changing difuse material into glossy. Then opening Viewport shading - Rendered twice before rendering final image in last step.
I was able to reproduce the error (i.e. CL_MEM_OBJECT_ALLOCATION_FAILURE) for larger tile sizes (e.g. 256x256, 512x512) (find the setup details below). As following the previous steps, each time the error occurred at step 9 [Go to this tab, click on it and click Rendered (wait while kernels are loaded )].
Reducing the tile size to 128x128, it worked fine. However, as checked with GPU-Z, consumed GPU memory was more than 1GB for this setting (find the attachment).
It seems that the issue is due to insufficient device memory as correctly reported by the runtime. I think, the size of the memory objects created for the lager tiles by the host code (part of Blender application) could indicate the issue more clearly.
Btw, I didn't observe any issue when ran the testm.blend file (:anchor: T50694 AMD 7870 2GB memory issue/OpenCl ) with tile size 512x512 (find attachment).
Blender version: blender-2.78-34a502c-win64
Driver: Crimson 17.2.1 public (16.60.2011-170210a-311139E-ATI)
Device: HD 7870 (Pitcairn)
Thank you. But, how come simple cube scene can have more than 1GB consumed when rendering for example 512x512 ?
Is it possible there is somewhere memory leak?
I don't think we can point it as a driver or application level issue unless it's checked with multiple drivers and blender versions and get any regression point, if any. I haven't checked it with older drivers (other than 16.12.2) and Blender version, so, can't sure about that. I shared my findings what I observed. If you've any observation in this regard, it would be helpful to trace the issue.
After checking with multiple drivers and Blender versions, the issue seems related to the driver (still working on regression) particularly on Windows 10. Here are my findings till now:
With latest drivers
Crimson 17.2.1 and 16.12.2 on Windows 10: observed the memory error.
Crimson 17.2.1 and 16.12.2 on Windows 7: worked fine without any error.
With older drivers on Windows 10:
16.11.5 and 16.9.2: no error however there was some rendering issue for step 7 (no object seen). It rendered correctly for 3-D View though (i.e. step 9 and 12)
15.9.1: everything worked fine without any error
I'll check with the latest internal builds and let you my findings.
Note: Blender version used: blender-2.78-34a502c-win64