2014-12-20 73 views
0

我試圖在運行Arch Linux的筆記本電腦上安裝系統以學習opencl。筆記本電腦有混合視頻卡(英特爾HD4000和ATI 8790)。我安裝了AMD-APP-SDK和我能夠運行示例代碼pyopencl:我可以在混合視頻卡(intel/ati)上使用ati opencl

import pyopencl as cl 
cl.get_platforms()[0].get_devices() 

然而,這隻能說明CPU設備:

[<pyopencl.Device 'Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz' on 'AMD Accelerated Parallel Processing' at 0xf55130>] 

clinfo的輸出是:

Number of platforms:     1 
    Platform Profile:    FULL_PROFILE 
    Platform Version:    OpenCL 2.0 AMD-APP (1642.5) 
    Platform Name:     AMD Accelerated Parallel Processing 
    Platform Vendor:    Advanced Micro Devices, Inc. 
    Platform Extensions:    cl_khr_icd cl_amd_event_callback cl_amd_offline_devices 


    Platform Name:     AMD Accelerated Parallel Processing 
Number of devices:    1 
    Device Type:     CL_DEVICE_TYPE_CPU 
    Vendor ID:      1002h 
    Board name:      
    Max compute units:     8 
    Max work items dimensions:    3 
    Max work items[0]:    1024 
    Max work items[1]:    1024 
    Max work items[2]:    1024 
    Max work group size:    1024 
    Preferred vector width char:   16 
    Preferred vector width short:   8 
    Preferred vector width int:   4 
    Preferred vector width long:   2 
    Preferred vector width float:   8 
    Preferred vector width double:   4 
    Native vector width char:   16 
    Native vector width short:    8 
    Native vector width int:   4 
    Native vector width long:   2 
    Native vector width float:    8 
    Native vector width double:   4 
    Max clock frequency:    606Mhz 
    Address bits:     64 
    Max memory allocation:    2147483648 
    Image support:     Yes 
    Max number of images read arguments:  128 
    Max number of images write arguments:  64 
    Max image 2D width:    8192 
    Max image 2D height:    8192 
    Max image 3D width:    2048 
    Max image 3D height:    2048 
    Max image 3D depth:    2048 
    Max samplers within kernel:   16 
    Max size of kernel argument:   4096 
    Alignment (bits) of base address:  1024 
    Minimum alignment (bytes) for any datatype: 128 
    Single precision floating point capability 
    Denorms:      Yes 
    Quiet NaNs:     Yes 
    Round to nearest even:   Yes 
    Round to zero:    Yes 
    Round to +ve and infinity:   Yes 
    IEEE754-2008 fused multiply-add:   Yes 
    Cache type:     Read/Write 
    Cache line size:    64 
    Cache size:     32768 
    Global memory size:    8278106112 
    Constant buffer size:    65536 
    Max number of constant args:   8 
    Local memory type:     Global 
    Local memory size:     32768 
    Max pipe arguments:    16 
    Max pipe active reservations:   16 
    Max pipe packet size:    2147483648 
    Max global variable size:   1879048192 
    Max global variable preferred total size: 1879048192 
    Max read/write image args:    64 
    Max on device events:    0 
    Queue on device max size:   0 
    Max on device queues:    0 
    Queue on device preferred size:  0 
    SVM capabilities:    
    Coarse grain buffer:    Yes 
    Fine grain buffer:    Yes 
    Fine grain system:    Yes 
    Atomics:      Yes 
    Preferred platform atomic alignment:  0 
    Preferred global atomic alignment:   0 
    Preferred local atomic alignment:  0 
    Kernel Preferred work group size multiple:  1 
    Error correction support:   0 
    Unified memory for Host and Device:  1 
    Profiling timer resolution:   1 
    Device endianess:    Little 
    Available:      Yes 
    Compiler available:    Yes 
    Execution capabilities:     
    Execute OpenCL kernels:   Yes 
    Execute native function:    Yes 
    Queue on Host properties:    
    Out-of-Order:    No 
    Profiling :     Yes 
    Queue on Device properties:     
    Out-of-Order:    No 
    Profiling :     No 
    Platform ID:     0x7f22c575efd0 
    Name:      Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz 
    Vendor:     GenuineIntel 
    Device OpenCL C version:   OpenCL C 1.2 
    Driver version:    1642.5 (sse2,avx) 
    Profile:     FULL_PROFILE 
    Version:     OpenCL 1.2 AMD-APP (1642.5) 
    Extensions:     cl_khr_fp64 cl_amd_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_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_spir cl_khr_gl_event 

我目前使用intel作爲我的視頻驅動程序。我經常在不同的顯示器設置和英特爾支持xrandr之間切換,所以我想繼續使用它,但啓用ati驅動程序僅用於opencl計算。這可能嗎?如果是這樣,我該怎麼做才能做到這一點?

+0

'clinfo'的輸出是什麼? –

+0

將clinfo的輸出添加到帖子中 – yemu

回答

0

由於AMD APP SDK 2.6需要Catalyst驅動程序來開發&運行支持OpenCL的軟件。

1

要利用英特爾HD4000,您需要安裝英特爾OpenCL驅動程序。只有AMD平臺出現在你的臨時轉儲中。