[Bf-cycles] Apple OpenCL and Cycles

Marcio Andrade migueletto at yahoo.com
Tue Dec 18 10:47:43 CET 2012


Hello,

Sure. Where is the best place to upload the build ? GraphicAll.org ? I can also contact Jens to exchange some ideas.


Meanwhile I was able to make a quick test on another Mac. This one has a ATI Radeon HD 6750M. And indeed the compiler fails with segmentation fault.

The custom build outputs some information about OpenCL support. Here is the output on the second Mac system:

OpenCL: Detected 1 platform(s)
OpenCL: Platform 0:
OpenCL:   Profile: FULL_PROFILE
OpenCL:   Version: OpenCL 1.2 (Aug 24 2012 00:53:09)
OpenCL:   Name: Apple
OpenCL:   Vendor: Apple
OpenCL:   Extensions: cl_APPLE_SetMemObjectDestructor cl_APPLE_ContextLoggingFunctions cl_APPLE_clut 

cl_APPLE_query_kernel_names cl_APPLE_gl_sharing cl_khr_gl_event
OpenCL:   Platform has 2 device(s)

OpenCL:   Device 0:
OpenCL:     Name: Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz
OpenCL:     Vendor: Intel
OpenCL:     Driver version: 1.1
OpenCL:     Profile: FULL_PROFILE
OpenCL:     Version: OpenCL 1.2 
OpenCL:     OpenCL C version: OpenCL C 1.2 
OpenCL:     Type: 2 ( CPU )
OpenCL:     Vendor ID: 4294967295
OpenCL:     Number of compute units: 4
OpenCL:     Max work item dimensions: 3
OpenCL:     Max work item sizes: 1024 x 1 x 1
OpenCL:     Max work group size: 1024
OpenCL:     Max clock frequency: 2500 MHz
OpenCL:     Address bits: 64
OpenCL:     Max memory alloc size: 1073741824 bytes (1024 MB)
OpenCL:     Image support: true
OpenCL:     Max samplers: 16
OpenCL:     Max parameter size: 4096 bytes
OpenCL:     Global memory size: 4294967296 bytes (4096 MB)
OpenCL:     Global memory cache size: 64 bytes
OpenCL:     Max size of constant buffer allocation: 65536 bytes
OpenCL:     Max number of __constant arguments: 8
OpenCL:     Local memory size: 32768 bytes
OpenCL:     Host/Device unified memory: true
OpenCL:     Little endian: true
OpenCL:     Available: true
OpenCL:     Compiler available: true
OpenCL:     Extensions: cl_APPLE_SetMemObjectDestructor cl_APPLE_ContextLoggingFunctions cl_APPLE_clut 
cl_APPLE_query_kernel_names cl_APPLE_gl_sharing cl_khr_gl_event cl_khr_fp64 cl_khr_global_int32_base_atomics 
cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics 
cl_khr_byte_addressable_store cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes 
cl_APPLE_fp64_basic_ops cl_APPLE_fixed_alpha_channel_orders cl_APPLE_biased_fixed_point_image_formats

OpenCL:   Device 1:
OpenCL:     Name: ATI Radeon HD 6750M
OpenCL:     Vendor: AMD
OpenCL:     Driver version: 1.0
OpenCL:     Profile: FULL_PROFILE
OpenCL:     Version: OpenCL 1.1 
OpenCL:     OpenCL C version: OpenCL C 1.1 
OpenCL:     Type: 4 ( GPU )
OpenCL:     Vendor ID: 16915200
OpenCL:     Number of compute units: 6
OpenCL:     Max work item dimensions: 3
OpenCL:     Max work item sizes: 1024 x 1024 x 1024
OpenCL:     Max work group size: 1024
OpenCL:     Max clock frequency: 597 MHz
OpenCL:     Address bits: 32
OpenCL:     Max memory alloc size: 134217728 bytes (128 MB)
OpenCL:     Image support: true
OpenCL:     Max samplers: 16
OpenCL:     Max parameter size: 1024 bytes
OpenCL:     Global memory size: 536870912 bytes (512 MB)
OpenCL:     Global memory cache size: 0 bytes
OpenCL:     Max size of constant buffer allocation: 65536 bytes
OpenCL:     Max number of __constant arguments: 8
OpenCL:     Local memory size: 32768 bytes
OpenCL:     Host/Device unified memory: false
OpenCL:     Little endian: true
OpenCL:     Available: true
OpenCL:     Compiler available: true
OpenCL:     Extensions: cl_APPLE_SetMemObjectDestructor cl_APPLE_ContextLoggingFunctions cl_APPLE_clut 
cl_APPLE_query_kernel_names cl_APPLE_gl_sharing cl_khr_gl_event cl_khr_global_int32_base_atomics 
cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics 
cl_khr_byte_addressable_store


Although both devices (CPU and GPU) support OpenCL, there are some differences in configuration. These may or may not make a impact on the compiler/driver.


---


Regarding the compiler fail, the system logs provide a lot of information. Maybe it can be useful to some people in AMD. Anyone knows a contact there ?


Process:         CVMCompiler [443]
Path:            /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMCompiler
Identifier:      CVMCompiler
Version:         24.4
Code Type:       X86-64 (Native)
Parent Process:  launchd [138]

Date/Time:       2012-12-17 13:10:09.035 -0200
OS Version:      Mac OS X 10.8.2 (12C54)
Report Version:  10

Crashed Thread:  1  Dispatch queue: com.apple.cvmsCompAgent_x86_64.peer.0x7fdab3000120.xpcq

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT

Application Specific Information:
Stack dump:
0.    Running pass 'AMD IL Control Flow Graph structurizer Pass' on function '@kernel_ocl_path_trace'
 

Thread 0:: Dispatch queue: com.apple.root.default-overcommit-priority
0   libsystem_kernel.dylib            0x00007fff93aff566 __sigsuspend_nocancel + 10
1   libdispatch.dylib                 0x00007fff98221da1 _dispatch_sigsuspend + 28
2   libdispatch.dylib                 0x00007fff98221d85 _dispatch_sig_thread + 45

Thread 1 Crashed:: Dispatch queue: com.apple.cvmsCompAgent_x86_64.peer.0x7fdab3000120.xpcq
0   libLLVMContainer.dylib            0x00007fff91deb8be llvm::MachineInstr::AddRegOperandsToUseLists(llvm::MachineRegisterInfo&) + 158
1   AMDil.dylib                       0x0000000105ba2a8a llvm::iplist<llvm::MachineInstr, llvm::ilist_traits<llvm::MachineInstr> >::insert(llvm::ilist_iterator<llvm::MachineInstr>, llvm::MachineInstr*) + 46
2   AMDil.dylib                       0x0000000105b6b122 llvmCFGStruct::CFGStructTraits<llvm::AMDILCFGStructurizer>::insertAssignInstrBefore(llvm::ilist_iterator<llvm::MachineInstr>, llvm::AMDILCFGStructurizer*, int, int) + 168
3   AMDil.dylib                       0x0000000105b6d80a llvmCFGStruct::CFGStructurizer<llvm::AMDILCFGStructurizer>::improveSimpleJumpintoIf(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock**) + 486
4   AMDil.dylib                       0x0000000105b69258 llvmCFGStruct::CFGStructurizer<llvm::AMDILCFGStructurizer>::ifPatternMatch(llvm::MachineBasicBlock*) + 498
5   AMDil.dylib                       0x0000000105b68fb3 llvmCFGStruct::CFGStructurizer<llvm::AMDILCFGStructurizer>::patternMatchGroup(llvm::MachineBasicBlock*) + 41
6   AMDil.dylib                       0x0000000105b68b1f llvmCFGStruct::CFGStructurizer<llvm::AMDILCFGStructurizer>::patternMatch(llvm::MachineBasicBlock*) + 27
7   AMDil.dylib                       0x0000000105b68438 llvmCFGStruct::CFGStructurizer<llvm::AMDILCFGStructurizer>::run(llvm::MachineFunction&, llvm::AMDILCFGStructurizer&) + 332
8   AMDil.dylib                       0x0000000105b67e55 llvm::AMDILCFGPerform::runOnMachineFunction(llvm::MachineFunction&) + 255
9   libLLVMContainer.dylib            0x00007fff91de956e llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 110
10  libLLVMContainer.dylib            0x00007fff9211cbe2 llvm::FPPassManager::runOnFunction(llvm::Function&) + 322
11  libLLVMContainer.dylib            0x00007fff9211c4c5 llvm::FunctionPassManagerImpl::run(llvm::Function&) + 277
12  libLLVMContainer.dylib            0x00007fff9211c385 llvm::FunctionPassManager::run(llvm::Function&) + 117
13  libCLVMAMDilPlugin.dylib          0x000000010554eb2f compileSource(_cvms_plugin_service_s const*, unsigned long long, char const*, int, void const*, unsigned long, char const*, void*, char**, char**, unsigned long*, cvmsAMDilDictData**) + 6497
14  libCLVMAMDilPlugin.dylib          0x000000010554cc58 cvmsPluginElementBuild + 356
15  CVMCompiler                       0x0000000104a3918a 0x104a37000 + 8586
16  CVMCompiler                       0x0000000104a3a3ce 0x104a37000 + 13262
17  libxpc.dylib                      0x00007fff957b64a2 _xpc_connection_recv_message + 699
18  libxpc.dylib                      0x00007fff957b616d _xpc_connection_wakeup_recv + 165
19  libxpc.dylib                      0x00007fff957b48b4 _xpc_connection_wakeup2 + 1799
20  libxpc.dylib                      0x00007fff957b417c _xpc_connection_wakeup + 145
21  libdispatch.dylib                 0x00007fff982220b6 _dispatch_client_callout + 8
22  libdispatch.dylib                 0x00007fff9822429b _dispatch_source_invoke + 691
23  libdispatch.dylib                 0x00007fff98223305 _dispatch_queue_invoke + 72
24  libdispatch.dylib                 0x00007fff98223448 _dispatch_queue_drain + 180
25  libdispatch.dylib                 0x00007fff982232f1 _dispatch_queue_invoke + 52
26  libdispatch.dylib                 0x00007fff98223448 _dispatch_queue_drain + 180
27  libdispatch.dylib                 0x00007fff982232f1 _dispatch_queue_invoke + 52
28  libdispatch.dylib                 0x00007fff982231c3 _dispatch_worker_thread2 + 249
29  libsystem_c.dylib                 0x00007fff908d4cab _pthread_wqthread + 404
30  libsystem_c.dylib                 0x00007fff908bf171 start_wqthread + 13

Thread 2:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib            0x00007fff93affd16 kevent + 10
1   libdispatch.dylib                 0x00007fff98224dea _dispatch_mgr_invoke + 883
2   libdispatch.dylib                 0x00007fff982249ee _dispatch_mgr_thread + 54

Thread 1 crashed with X86 Thread State (64-bit):
  rax: 0x00007fdabaa8bc28  rbx: 0x0000000112e0b720  rcx: 0x00007fdab5e2e410  rdx: 0x007fdab590bec850
  rdi: 0x0000000112e0b720  rsi: 0x00007fdaba958610  rbp: 0x0000000104c29670  rsp: 0x0000000104c29660
   r8: 0x0000000000000000   r9: 0x00007fdab5e2e410  r10: 0x0000000000000002  r11: 0x0000000000000018
  r12: 0x0000000112e0b720  r13: 0x0000000000005b45  r14: 0x0000000112e0b4b8  r15: 0x0000000000000002
  rip: 0x00007fff91deb8be  rfl: 0x0000000000010206  cr2: 0x0000000105b6c69e
Logical CPU: 2

Binary Images:
       0x104a37000 -        0x104a3bfff  CVMCompiler (24.4) <C2EBBD52-1FB3-3690-8BAD-9C6B538AE29A> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMCompiler
       0x10554c000 -        0x105554fff  libCLVMAMDilPlugin.dylib (8.0.61) <1F549F7B-39FB-3E3B-9F8C-57A0F5ABD278> /System/Library/Frameworks/OpenCL.framework/Libraries/libCLVMAMDilPlugin.dylib
       0x10555d000 -        0x105ac2ff7  libcl2module.dylib (2.1.20) <D9CE30E4-8777-335B-99FF-D91D8380AA0E> /System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libcl2module.dylib
       0x105b58000 -        0x105cd0fff  AMDil.dylib (8.0.61) <B684C938-BCB9-3D34-B9B8-2D74183DBE69> /System/Library/Frameworks/OpenCL.framework/Libraries/AMDil.dylib
       0x105dbc000 -        0x105ffbfff  ATIRadeonX3000SCLib.dylib (1.0.29) <92F9B316-EBB8-344A-98E4-16C73ED9F6D2> /System/Library/Extensions/AMDRadeonX3000GLDriver.bundle/Contents/MacOS/ATIRadeonX3000SCLib.dylib
    0x7fff64637000 -     0x7fff6466b93f  dyld (210.2.3) <A40597AA-5529-3337-8C09-D8A014EB1578> /usr/lib/dyld
    0x7fff8e8b6000 -     0x7fff8e8b7fff  libsystem_blocks.dylib (59) <D92DCBC3-541C-37BD-AADE-ACC75A0C59C8> /usr/lib/system/libsystem_blocks.dylib
    0x7fff8f1e7000 -     0x7fff8f1e8ff7  libSystem.B.dylib (169.3) <365477AB-D641-389D-B8F4-A1FAE9657EEE> /usr/lib/libSystem.B.dylib
    0x7fff8f7d1000 -     0x7fff8f7d8fff  libcopyfile.dylib (89) <876573D0-E907-3566-A108-577EAD1B6182> /usr/lib/system/libcopyfile.dylib
    0x7fff8f9fe000 -     0x7fff8fa0cff7  libsystem_network.dylib (77.10) <0D99F24E-56FE-380F-B81B-4A4C630EE587> /usr/lib/system/libsystem_network.dylib
    0x7fff8fc62000 -     0x7fff8fc68ff7  libunwind.dylib (35.1) <21703D36-2DAB-3D8B-8442-EAAB23C060D3> /usr/lib/system/libunwind.dylib
    0x7fff8fc69000 -     0x7fff8fc97ff7  libsystem_m.dylib (3022.6) <B434BE5C-25AB-3EBD-BAA7-5304B34E3441> /usr/lib/system/libsystem_m.dylib
    0x7fff90320000 -     0x7fff90356fff  libsystem_info.dylib (406.17) <4FFCA242-7F04-365F-87A6-D4EFB89503C1> /usr/lib/system/libsystem_info.dylib
    0x7fff903e6000 -     0x7fff903f8ff7  libz.1.dylib (43) <2A1551E8-A272-3DE5-B692-955974FE1416> /usr/lib/libz.1.dylib
    0x7fff903f9000 -     0x7fff9040cff7  libbsm.0.dylib (32) <F497D3CE-40D9-3551-84B4-3D5E39600737> /usr/lib/libbsm.0.dylib
    0x7fff906bd000 -     0x7fff908bdfff  libicucore.A.dylib (491.11.1) <CC318A27-878A-38CE-9292-1B98353FA9C7> /usr/lib/libicucore.A.dylib
    0x7fff908be000 -     0x7fff9098afe7  libsystem_c.dylib (825.25) <8CBCF9B9-EBB7-365E-A3FF-2F3850763C6B> /usr/lib/system/libsystem_c.dylib
    0x7fff91aa5000 -     0x7fff92359f1f  libLLVMContainer.dylib (24.4) <F4F7E5F1-F5B8-3B25-A6B7-2667F9055840> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libLLVMContainer.dylib
    0x7fff923a4000 -     0x7fff923a6ff7  libunc.dylib (25) <92805328-CD36-34FF-9436-571AB0485072> /usr/lib/system/libunc.dylib
    0x7fff92723000 -     0x7fff9276fff7  libauto.dylib (185.1) <73CDC482-16E3-3FC7-9BB4-FBA2DA44DBC2> /usr/lib/libauto.dylib
    0x7fff928a7000 -     0x7fff929a4fff  libsqlite3.dylib (138.1) <ADE9CB98-D77D-300C-A32A-556B7440769F> /usr/lib/libsqlite3.dylib
    0x7fff92adc000 -     0x7fff92aeaff7  libkxld.dylib (2050.18.24) <7027CE49-007D-3553-8FFA-3E3B428B2316> /usr/lib/system/libkxld.dylib
    0x7fff92b04000 -     0x7fff92b05fff  libDiagnosticMessagesClient.dylib (8) <8548E0DC-0D2F-30B6-B045-FE8A038E76D8> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff92dec000 -     0x7fff92e55fff  libstdc++.6.dylib (56) <EAA2B53E-EADE-39CF-A0EF-FB9D4940672A> /usr/lib/libstdc++.6.dylib
    0x7fff92ec1000 -     0x7fff92ec2ff7  libdnsinfo.dylib (453.18) <E7595861-ECF9-336E-9901-BED2620FAA80> /usr/lib/system/libdnsinfo.dylib
    0x7fff92ef1000 -     0x7fff92ef2ff7  libremovefile.dylib (23.1) <DBBFAF35-AC78-3856-92F6-6E4FD9DF14A2> /usr/lib/system/libremovefile.dylib
    0x7fff92f68000 -     0x7fff92f6bff7  libdyld.dylib (210.2.3) <F59367C9-C110-382B-A695-9035A6DD387E> /usr/lib/system/libdyld.dylib
    0x7fff93aed000 -     0x7fff93b08ff7  libsystem_kernel.dylib (2050.18.24) <C0535565-35D1-31A7-A744-63D9F10F12A4> /usr/lib/system/libsystem_kernel.dylib
    0x7fff93bcf000 -     0x7fff93bf8fff  libsandbox.1.dylib (220) <FCD65E60-6276-3455-8A11-09864DC9A285> /usr/lib/libsandbox.1.dylib
    0x7fff957aa000 -     0x7fff957ccff7  libxpc.dylib (140.41) <FAC04D8B-680E-325F-8F0C-DD69859D0E01> /usr/lib/system/libxpc.dylib
    0x7fff9594e000 -     0x7fff95956ff7  libsystem_dnssd.dylib (379.32.1) <62AA0B84-188A-348B-8F9E-3E2DB08DB93C> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff9684b000 -     0x7fff9696392f  libobjc.A.dylib (532.2) <90D31928-F48D-3E37-874F-220A51FD9E37> /usr/lib/libobjc.A.dylib
    0x7fff9698d000 -     0x7fff96995fff  liblaunch.dylib (442.26.2) <2F71CAF8-6524-329E-AC56-C506658B4C0C> /usr/lib/system/liblaunch.dylib
    0x7fff974e4000 -     0x7fff974f2fff  libcommonCrypto.dylib (60026) <2D6537F5-1B5E-305C-A1CF-D1FA80CA3939> /usr/lib/system/libcommonCrypto.dylib
    0x7fff97b2d000 -     0x7fff97b38fff  libsystem_notify.dylib (98.5) <C49275CC-835A-3207-AFBA-8C01374927B6> /usr/lib/system/libsystem_notify.dylib
    0x7fff97b45000 -     0x7fff97b49fff  libMatch.1.dylib (17) <E10E50F3-25F8-3B9B-AA11-923E40F5FFDD> /usr/lib/libMatch.1.dylib
    0x7fff97c74000 -     0x7fff97c75ff7  libsystem_sandbox.dylib (220) <3C3B03CF-C525-3CB3-8557-62E91B93AC95> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff97d2f000 -     0x7fff97d31fff  libquarantine.dylib (52) <4BE2E642-A14F-340A-B482-5BD2AEFD9C24> /usr/lib/system/libquarantine.dylib
    0x7fff97d9b000 -     0x7fff97e03ff7  libc++.1.dylib (65.1) <20E31B90-19B9-3C2A-A9EB-474E08F9FE05> /usr/lib/libc++.1.dylib
    0x7fff98220000 -     0x7fff98235ff7  libdispatch.dylib (228.23) <D26996BF-FC57-39EB-8829-F63585561E09> /usr/lib/system/libdispatch.dylib
    0x7fff98295000 -     0x7fff982baff7  libc++abi.dylib (24.4) <E7BD9363-1D25-3551-A68A-2E2FF6ABECD7> /usr/lib/libc++abi.dylib
    0x7fff982bb000 -     0x7fff984a4fff  com.apple.CoreFoundation (6.8 - 744.12) <EF002794-DAEF-31C6-866C-E3E3AC387A9F> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff98e57000 -     0x7fff98ea6ff7  libcorecrypto.dylib (106.2) <CE0C29A3-C420-339B-ADAA-52F4683233CC> /usr/lib/system/libcorecrypto.dylib
    0x7fff98f50000 -     0x7fff98f55fff  libcache.dylib (57) <65187C6E-3FBF-3EB8-A1AA-389445E2984D> /usr/lib/system/libcache.dylib
    0x7fff99c6f000 -     0x7fff99c6ffff  libkeymgr.dylib (25) <CC9E3394-BE16-397F-926B-E579B60EE429> /usr/lib/system/libkeymgr.dylib
    0x7fff99f0e000 -     0x7fff99f7bff7  com.apple.framework.IOKit (2.0 - 755.18.10) <142E19DD-1C8D-3D61-ABC8-83994A73279F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff9a821000 -     0x7fff9a826fff  libcompiler_rt.dylib (30) <08F8731D-5961-39F1-AD00-4590321D24A9> /usr/lib/system/libcompiler_rt.dylib
    0x7fff9a83f000 -     0x7fff9a845fff  libmacho.dylib (829) <BF332AD9-E89F-387E-92A4-6E1AB74BD4D9> /usr/lib/system/libmacho.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 299
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=82.5M resident=61.9M(75%) swapped_out_or_unallocated=20.6M(25%)
Writable regions: Total=628.6M written=584.9M(93%) resident=588.5M(94%) swapped_out=0K(0%) unallocated=40.1M(6%)
 
REGION TYPE                      VIRTUAL
===========                      =======
MALLOC                            614.0M
MALLOC guard page                    32K
STACK GUARD                          12K
Stack                              65.5M
VM_ALLOCATE                         776K
__DATA                             3788K
__LINKEDIT                         54.0M
__TEXT                             28.5M
__UNICODE                           544K
mapped file                        2584K
shared memory                      4108K
===========                      =======
TOTAL                             773.6M


---

Regards,
migueletto




----- Mensagem original -----
De: Ton Roosendaal <ton at blender.org>
Para: Marcio Andrade <migueletto at yahoo.com>; bf-cycles at blender.org
Cc: 
Enviadas: Segunda-feira, 17 de Dezembro de 2012 13:35
Assunto: Re: [Bf-cycles] Apple OpenCL and Cycles

Hi Marcio,

Our OS X platform maintainer - Jens Verwiebe - reported similar good results.
It hasn't been taken further yet... but certainly a good target for the next release.

Could you upload your compiled blender.app for others to check?

-Ton-

------------------------------------------------------------------------
Ton Roosendaal  Blender Foundation  ton at blender.org    www.blender.org
Blender Institute   Entrepotdok 57A  1018AD Amsterdam   The Netherlands

On 17 Dec, 2012, at 13:57, Marcio Andrade wrote:

> Hello,
> 
> I read that OpenCL development on Cycles is on hold, mainly because of compiler/driver problems in the AMD SDK. I have been doing some experiments with OpenCL on a Mac, and so far I did not encounter thouse kind of problems. After making some small changes to the kernel (basically enabling some defines that were commented out in kernel_types.h and fixing one compile error), I gave it a try.
> 
> Compilation is fast and does not give memory errors. On my system the kernel is compiled in under 5 seconds. My Mac has a Intel HD 3000 GPU, which does not support OpenCL, so in order to make these tests I enabled OpenCL on the CPU (a small change to device_opencl.cpp). When I run the kernel in Blender, rendering time is close to the normal render using CPU, which is expected, since OpenCL Kernel on CPU should be close to the C++ Kernel on CPU.
> 
> Apple is the original author of OpenCL, and OpenCL support on Macs seems to be pretty decent (no need to install anything, it is already bundled). So, is there anyone else trying Cycles/OpenCL on Apple hardware ? I would like to know how OpenCL performs on a Mac with a true GPU, to see if its worth pursuing this direction.
> 
> 
> Regards,
> migueletto
> 
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> http://lists.blender.org/mailman/listinfo/bf-cycles


More information about the Bf-cycles mailing list