OpenCL* on Intel® Programmable Acceleration Card with Intel® Arria® 10 GX FPGA快速入门用户指南

ID 683831
日期 12/04/2018
Public

5. 对多卡系统的 OpenCL* 支持

在运行 OpenCL* 应用程序之前,要对包含BSP逻辑的Accelerator Function (AF)的PAC卡进行编程。使用aocl程序命令将一个aocx文件加载到PAC卡。只需要对每个PAC卡的AF编程一次。初始编程后,可以使用 OpenCL* API (使用aocx程序命令)将不同的应用程序加载到PAC卡中。

注: 对于使用一个PAC卡的系统, Intel® 建议将hugepage的数量分配成20。如果系统中有多个PAC卡,那么每个卡必须分配20个hugepage。例如,一个使用四个PAC卡的系统需要总共80个hugepage。
输入以下命令将hugepag的数量设为80:
$ sudo sh -c "echo 80 > /sys/kernel/mm/hugepages/hugepages-2048kB \
/nr_hugepages"

运行aocl diagnose命令以确定系统包含的FPGA数量。例如,在使用两个PAC卡的系统上运行aocl diagnose命令可能会显示类似于以下内容的输出:

  1. $ aocl diagnose
    ------------------------------------------------
    Device Name:
    acl0
    
    Package Pat: $OPAE_PLATFORM_ROOT/opencl/opencl_bsp
    
    Vendor: Intel Corp
    
    Phys Dev Name    Status           Information
    
    pac_a10_f100001  Uninitialized    OpenCL BSP not loaded. Must load BSP 
    								  using command:
                                      'aocl program <device_name> <aocx_file>'
                                	  before running OpenCL programs using 
    							      this device
    
    DIAGNOSTIC_PASSED
    ---------------------------------------------------------
    
    ------------------------------------------------
    Device Name:
    acl1
    
    Package Pat: $OPAE_PLATFORM_ROOT/opencl/opencl_bsp
    
    Vendor: Intel Corp
    
    Phys Dev Name    Status           Information
    
    pac_a10_f100000  Uninitialized    OpenCL BSP not loaded. Must load BSP 
    							      using command:)
                                      'aocl program <device_name> <aocx_file>'
                                	  before running OpenCL programs using
    								  this device
    
    DIAGNOSTIC_PASSED
    ---------------------------------------------------------
  2. 以下命令对Step 1中列出的第一个卡进行编程:
    $ aocl program acl0 $OPAE_PLATFORM_ROOT/opencl/hello_world.aocx
    aocl program: Running program from $OPAE_PLATFORM_ROOT/opencl \
    /opencl_bsp
    
    Program succeed.
  3. 以下命令对Step 1中列出的第二个卡进行编程:
    $ aocl program acl1 $OPAE_PLATFORM_ROOT/opencl/hello_world.aocx
    aocl program: Running program from $OPAE_PLATFORM_ROOT/opencl \
    /opencl_bsp
    
    Program succeed.
  4. 对FPGA编程后,aocl diagnose命令提供相关信息:
    $ aocl diagnose
    ------------------------------------------------
    Device Name:
    acl0
    
    Package Pat: $OPAE_PLATFORM_ROOT/opencl/opencl_bsp
    
    Vendor: Intel Corp
    
    Phys Dev Name   Status   Information
    
    pac_a10_f100001 Passed   PAC Arria 10 Platform (pac_a10_f100001)
                             PCIe 04:00.0
                             FPGA temperature = 56 degrees C.
    
    DIAGNOSTIC_PASSED
    ---------------------------------------------------------
    
    Device Name:
    acl1
    
    Package Pat: $OPAE_PLATFORM_ROOT/opencl/opencl_bsp
    
    Vendor: Intel Corp
    
    Phys Dev Name   Status   Information
    
    pac_a10_f100000 Passed   PAC Arria 10 Platform (pac_a10_f100000)
                             PCIe 04:00.0
                             FPGA temperature = 48 degrees C.
    
    DIAGNOSTIC_PASSED
    ---------------------------------------------------------
    注: 您可以使用以下命令在多卡系统中的任何特定器件上运行高级诊断程序:
    $ aocl diagnose <device name>