Bitcoin Forum

Bitcoin => Mining software (miners) => Topic started by: somedood on July 02, 2011, 06:56:38 PM



Title: Python OpenCL miner problem with ATI Stream 2.1
Post by: somedood on July 02, 2011, 06:56:38 PM
HI,

I had ATI Stream SDK 2.2 install with Catalyst 10.10 on a 5870

everything was fine, except for some dropouts to about 8 MH from time to time.
So I tried SDK 2.1 which includes OpenCL.dll Version 1.0

Result:
Code:
Traceback (most recent call last):
  File "poclbm.py", line 3, in <module>
  File "pyopencl\__init__.pyo", line 3, in <module>
  File "pyopencl\_cl.pyo", line 12, in <module>
  File "pyopencl\_cl.pyo", line 10, in __load
ImportError: DLL load failed: The specified procedure could not be found.
When I try the newer OpenCL.dll 1.1 from SDK 2.2 it works but I cannot mine because atiocl.dll from SDK 2.1 seems to be incompatible.

Here are the CAPS, both versions work fine in other applications (such as GPU Caps Viewer and its demos)

SDK 2.1 (not working)
Code:
		<opencl num_platforms="1">
<platform
CL_PLATFORM_NAME="ATI Stream"
CL_PLATFORM_VENDOR="Advanced Micro Devices, Inc."
CL_PLATFORM_VERSION="OpenCL 1.0 ATI-Stream-v2.1 (145)"
CL_PLATFORM_PROFILE="FULL_PROFILE"
devices="2"
/>
<device
CL_DEVICE_NAME="AMD Phenom(tm) II X4 965 Processor"
CL_DEVICE_VENDOR="AuthenticAMD"
CL_DRIVER_VERSION="1.1"
CL_DEVICE_PROFILE="FULL_PROFILE"
CL_DEVICE_VERSION="OpenCL 1.0 ATI-Stream-v2.1 (145)"
CL_DEVICE_TYPE="CPU"
CL_DEVICE_VENDOR_ID="0x1002"
CL_DEVICE_MAX_COMPUTE_UNITS="4"
CL_DEVICE_MAX_CLOCK_FREQUENCY_MHZ="3400"
CL_DEVICE_ADDRESS_BITS="32"
CL_DEVICE_MAX_MEM_ALLOC_SIZE_KB="524288"
CL_DEVICE_GLOBAL_MEM_SIZE_MB="1024"
CL_DEVICE_MAX_PARAMETER_SIZE="4096"
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE="64"
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE="64"
CL_DEVICE_ERROR_CORRECTION_SUPPORT="NO"
CL_DEVICE_LOCAL_MEM_TYPE="Global"
CL_DEVICE_LOCAL_MEM_SIZE_KB="32"
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE_KB="64"
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS="3"
CL_DEVICE_MAX_WORK_ITEM_SIZES="[1024 ; 1024 ; 1024]"
CL_DEVICE_MAX_WORK_GROUP_SIZE="1024"
CL_EXEC_NATIVE_KERNEL="0"
CL_DEVICE_IMAGE_SUPPORT="NO"
CL_DEVICE_MAX_READ_IMAGE_ARGS="0"
CL_DEVICE_MAX_WRITE_IMAGE_ARGS="0"
CL_DEVICE_IMAGE2D_MAX_WIDTH="0"
CL_DEVICE_IMAGE2D_MAX_HEIGHT="0"
CL_DEVICE_IMAGE3D_MAX_WIDTH="0"
CL_DEVICE_IMAGE3D_MAX_HEIGHT="0"
CL_DEVICE_IMAGE3D_MAX_DEPTH="0"
CL_DEVICE_MAX_SAMPLERS="0"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR="16"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT="8"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT="4"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG="2"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT="4"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE="0"
CL_DEVICE_EXTENSIONS="11"
/>
<extensions>
<li>"cl_khr_icd"</li>
<li>"cl_amd_fp64"</li>
<li>"cl_khr_global_int32_base_atomics"</li>
<li>"cl_khr_global_int32_extended_atomics"</li>
<li>"cl_khr_local_int32_base_atomics"</li>
<li>"cl_khr_local_int32_extended_atomics"</li>
<li>"cl_khr_byte_addressable_store"</li>
<li>"cl_khr_gl_sharing"</li>
<li>"cl_ext_device_fission"</li>
<li>"cl_amd_device_attribute_query"</li>
<li>"cl_amd_printf"</li>
</extensions>
<device
CL_DEVICE_NAME="Cypress"
CL_DEVICE_VENDOR="Advanced Micro Devices, Inc."
CL_DRIVER_VERSION="CAL 1.4.838"
CL_DEVICE_PROFILE="FULL_PROFILE"
CL_DEVICE_VERSION="OpenCL 1.0 ATI-Stream-v2.1 (145)"
CL_DEVICE_TYPE="GPU"
CL_DEVICE_VENDOR_ID="0x1002"
CL_DEVICE_MAX_COMPUTE_UNITS="20"
CL_DEVICE_MAX_CLOCK_FREQUENCY_MHZ="850"
CL_DEVICE_ADDRESS_BITS="32"
CL_DEVICE_MAX_MEM_ALLOC_SIZE_KB="262144"
CL_DEVICE_GLOBAL_MEM_SIZE_MB="256"
CL_DEVICE_MAX_PARAMETER_SIZE="1024"
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE="0"
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE="0"
CL_DEVICE_ERROR_CORRECTION_SUPPORT="NO"
CL_DEVICE_LOCAL_MEM_TYPE="Local (scratchpad)"
CL_DEVICE_LOCAL_MEM_SIZE_KB="32"
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE_KB="64"
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS="3"
CL_DEVICE_MAX_WORK_ITEM_SIZES="[256 ; 256 ; 256]"
CL_DEVICE_MAX_WORK_GROUP_SIZE="256"
CL_EXEC_NATIVE_KERNEL="0"
CL_DEVICE_IMAGE_SUPPORT="YES"
CL_DEVICE_MAX_READ_IMAGE_ARGS="128"
CL_DEVICE_MAX_WRITE_IMAGE_ARGS="8"
CL_DEVICE_IMAGE2D_MAX_WIDTH="8192"
CL_DEVICE_IMAGE2D_MAX_HEIGHT="8192"
CL_DEVICE_IMAGE3D_MAX_WIDTH="2048"
CL_DEVICE_IMAGE3D_MAX_HEIGHT="2048"
CL_DEVICE_IMAGE3D_MAX_DEPTH="16"
CL_DEVICE_MAX_SAMPLERS="16"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR="16"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT="8"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT="4"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG="2"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT="4"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE="0"
CL_DEVICE_EXTENSIONS="11"
/>
<extensions>
<li>"cl_khr_icd"</li>
<li>"cl_amd_fp64"</li>
<li>"cl_khr_global_int32_base_atomics"</li>
<li>"cl_khr_global_int32_extended_atomics"</li>
<li>"cl_khr_local_int32_base_atomics"</li>
<li>"cl_khr_local_int32_extended_atomics"</li>
<li>"cl_khr_byte_addressable_store"</li>
<li>"cl_khr_gl_sharing"</li>
<li>"cl_amd_device_attribute_query"</li>
<li>"cl_amd_media_ops"</li>
<li>"cl_amd_d3d9_sharing"</li>
</extensions>
</opencl>

SDK 2.2 (working)
Code:
		<opencl num_platforms="1">
<platform
CL_PLATFORM_NAME="ATI Stream"
CL_PLATFORM_VENDOR="Advanced Micro Devices, Inc."
CL_PLATFORM_VERSION="OpenCL 1.1 ATI-Stream-v2.2 (302)"
CL_PLATFORM_PROFILE="FULL_PROFILE"
devices="2"
/>
<device
CL_DEVICE_NAME="AMD Phenom(tm) II X4 965 Processor"
CL_DEVICE_VENDOR="AuthenticAMD"
CL_DRIVER_VERSION="2.0"
CL_DEVICE_PROFILE="FULL_PROFILE"
CL_DEVICE_VERSION="OpenCL 1.1 ATI-Stream-v2.2 (302)"
CL_DEVICE_TYPE="CPU"
CL_DEVICE_VENDOR_ID="0x1002"
CL_DEVICE_MAX_COMPUTE_UNITS="4"
CL_DEVICE_MAX_CLOCK_FREQUENCY_MHZ="3400"
CL_DEVICE_ADDRESS_BITS="32"
CL_DEVICE_MAX_MEM_ALLOC_SIZE_KB="524288"
CL_DEVICE_GLOBAL_MEM_SIZE_MB="1024"
CL_DEVICE_MAX_PARAMETER_SIZE="4096"
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE="64"
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE="64"
CL_DEVICE_ERROR_CORRECTION_SUPPORT="NO"
CL_DEVICE_LOCAL_MEM_TYPE="Global"
CL_DEVICE_LOCAL_MEM_SIZE_KB="32"
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE_KB="64"
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS="3"
CL_DEVICE_MAX_WORK_ITEM_SIZES="[1024 ; 1024 ; 1024]"
CL_DEVICE_MAX_WORK_GROUP_SIZE="1024"
CL_EXEC_NATIVE_KERNEL="1"
CL_DEVICE_IMAGE_SUPPORT="NO"
CL_DEVICE_MAX_READ_IMAGE_ARGS="0"
CL_DEVICE_MAX_WRITE_IMAGE_ARGS="0"
CL_DEVICE_IMAGE2D_MAX_WIDTH="0"
CL_DEVICE_IMAGE2D_MAX_HEIGHT="0"
CL_DEVICE_IMAGE3D_MAX_WIDTH="0"
CL_DEVICE_IMAGE3D_MAX_HEIGHT="0"
CL_DEVICE_IMAGE3D_MAX_DEPTH="0"
CL_DEVICE_MAX_SAMPLERS="0"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR="16"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT="8"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT="4"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG="2"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT="4"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE="0"
CL_DEVICE_EXTENSIONS="11"
/>
<extensions>
<li>"cl_amd_fp64"</li>
<li>"cl_khr_global_int32_base_atomics"</li>
<li>"cl_khr_global_int32_extended_atomics"</li>
<li>"cl_khr_local_int32_base_atomics"</li>
<li>"cl_khr_local_int32_extended_atomics"</li>
<li>"cl_khr_byte_addressable_store"</li>
<li>"cl_khr_gl_sharing"</li>
<li>"cl_ext_device_fission"</li>
<li>"cl_amd_device_attribute_query"</li>
<li>"cl_amd_printf"</li>
<li>"cl_khr_d3d10_sharing"</li>
</extensions>
<device
CL_DEVICE_NAME="Cypress"
CL_DEVICE_VENDOR="Advanced Micro Devices, Inc."
CL_DRIVER_VERSION="CAL 1.4.838"
CL_DEVICE_PROFILE="FULL_PROFILE"
CL_DEVICE_VERSION="OpenCL 1.1 ATI-Stream-v2.2 (302)"
CL_DEVICE_TYPE="GPU"
CL_DEVICE_VENDOR_ID="0x1002"
CL_DEVICE_MAX_COMPUTE_UNITS="20"
CL_DEVICE_MAX_CLOCK_FREQUENCY_MHZ="850"
CL_DEVICE_ADDRESS_BITS="32"
CL_DEVICE_MAX_MEM_ALLOC_SIZE_KB="131072"
CL_DEVICE_GLOBAL_MEM_SIZE_MB="512"
CL_DEVICE_MAX_PARAMETER_SIZE="1024"
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE="0"
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE="0"
CL_DEVICE_ERROR_CORRECTION_SUPPORT="NO"
CL_DEVICE_LOCAL_MEM_TYPE="Local (scratchpad)"
CL_DEVICE_LOCAL_MEM_SIZE_KB="32"
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE_KB="64"
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS="3"
CL_DEVICE_MAX_WORK_ITEM_SIZES="[256 ; 256 ; 256]"
CL_DEVICE_MAX_WORK_GROUP_SIZE="256"
CL_EXEC_NATIVE_KERNEL="0"
CL_DEVICE_IMAGE_SUPPORT="YES"
CL_DEVICE_MAX_READ_IMAGE_ARGS="128"
CL_DEVICE_MAX_WRITE_IMAGE_ARGS="8"
CL_DEVICE_IMAGE2D_MAX_WIDTH="8192"
CL_DEVICE_IMAGE2D_MAX_HEIGHT="8192"
CL_DEVICE_IMAGE3D_MAX_WIDTH="2048"
CL_DEVICE_IMAGE3D_MAX_HEIGHT="2048"
CL_DEVICE_IMAGE3D_MAX_DEPTH="16"
CL_DEVICE_MAX_SAMPLERS="16"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR="16"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT="8"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT="4"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG="2"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT="4"
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE="0"
CL_DEVICE_EXTENSIONS="12"
/>
<extensions>
<li>"cl_amd_fp64"</li>
<li>"cl_khr_global_int32_base_atomics"</li>
<li>"cl_khr_global_int32_extended_atomics"</li>
<li>"cl_khr_local_int32_base_atomics"</li>
<li>"cl_khr_local_int32_extended_atomics"</li>
<li>"cl_khr_3d_image_writes"</li>
<li>"cl_khr_byte_addressable_store"</li>
<li>"cl_khr_gl_sharing"</li>
<li>"cl_amd_device_attribute_query"</li>
<li>"cl_amd_printf"</li>
<li>"cl_amd_media_ops"</li>
<li>"cl_khr_d3d10_sharing"</li>
</extensions>
</opencl>

This is the only difference I could find (except for the OpenCL.dll version):
Code:
301c295
< CL_PLATFORM_VERSION="OpenCL 1.0 ATI-Stream-v2.1 (145)"
---
> CL_PLATFORM_VERSION="OpenCL 1.1 ATI-Stream-v2.2 (302)"
308c302
< CL_DRIVER_VERSION="1.1"
---
> CL_DRIVER_VERSION="2.0"
310c304
< CL_DEVICE_VERSION="OpenCL 1.0 ATI-Stream-v2.1 (145)"
---
> CL_DEVICE_VERSION="OpenCL 1.1 ATI-Stream-v2.2 (302)"
328c322
< CL_EXEC_NATIVE_KERNEL="0"
---
> CL_EXEC_NATIVE_KERNEL="1"
347d340
< <li>"cl_khr_icd"</li>
357a351
> <li>"cl_khr_d3d10_sharing"</li>
364c358
< CL_DEVICE_VERSION="OpenCL 1.0 ATI-Stream-v2.1 (145)"
---
> CL_DEVICE_VERSION="OpenCL 1.1 ATI-Stream-v2.2 (302)"
370,371c364,365
< CL_DEVICE_MAX_MEM_ALLOC_SIZE_KB="262144"
< CL_DEVICE_GLOBAL_MEM_SIZE_MB="256"
---
> CL_DEVICE_MAX_MEM_ALLOC_SIZE_KB="131072"
> CL_DEVICE_GLOBAL_MEM_SIZE_MB="512"
398c392
< CL_DEVICE_EXTENSIONS="11"
---
> CL_DEVICE_EXTENSIONS="12"
401d394
< <li>"cl_khr_icd"</li>
406a400
> <li>"cl_khr_3d_image_writes"</li>
409a404
> <li>"cl_amd_printf"</li>
411c406
< <li>"cl_amd_d3d9_sharing"</li>
---
> <li>"cl_khr_d3d10_sharing"</li>

Please help? or is this combination not possible? Can someone notify m0mchil of this thread (newbie restrictions)? Never mind, after posting this I can message him.

-somedood


Title: Re: Python OpenCL miner problem with ATI Stream 2.1
Post by: somedood on July 02, 2011, 08:45:03 PM
To answer my own question:

Apparently there is a problem when you use the ATI Stream SDK 2.2 and just copy over the atiocl.dll from version 2.1

What works like a charm though is this:

  • Install ATI Stream SDK 2.1
    poclbm won't detect OpenCL for me then
  • Replace c:\windows\system32\OpenCL.dll (32bit) with the file from ATI Stream SDK 2.2 (which is OpenCL 1.1)

Then I can mine quite a bit faster with Catalyst 10.10 installed.