Altera_Forum
Honored Contributor
10 years agoErroneous OpenCl execution on DE1-SOC Kit, hangs on memory transfers
I am trying to use Altera OpenCL compilation on Terasic DE1-SOC board (RevC).
However problems occur when a memory transaction is required. I couldn't correctly run even the pre-compiled example projects. Is there anyone manage to successfully run the system? Thanks in Advance! ---------- Both the versions of Terasic BSP and OPENCL are 14.0 . I burned the SD-CARD and started FPGA with the right MSELECT configuration. Changed top.rbf with opencl.rbf for the FAT part of SD card. (I also tried the original version). HelloWorld => Output is printed from thread 0. Vector Add => It never reaches to cl_finish. Program hangs at the part that memory buffer is involved. ---------- Outputs: root@socfpga:~# aocl diagnose aocl diagnose: Running diagnostic from /home/root/opencl_arm32_rte/board/c5soc/arm32/bin Verified that the kernel mode driver is installed on the host machine. Using platform: Altera SDK for OpenCL Board vendor name: Altera Corporation Board name: de1soc_sharedonly : Cyclone V SoC Development Kit Buffer read/write test passed. DIAGNOSTIC_PASSED *** root@socfpga:~/vector_Add# ./vectorAdd Initializing OpenCL Platform: Altera SDK for OpenCL Using 1 device(s) de1soc_sharedonly : Cyclone V SoC Development Kit Using AOCX: vectorAdd.aocx Launching for device 0 (1000000 elements) (It hangs after this point never reaches to end) *** root@socfpga:~/helloworld# ./helloworld Querying platform for info: ========================== CL_PLATFORM_NAME = Altera SDK for OpenCL CL_PLATFORM_VENDOR = Altera Corporation CL_PLATFORM_VERSION = OpenCL 1.0 Altera SDK for OpenCL, Version 14.0 Querying device for info: ======================== CL_DEVICE_NAME = de1soc_sharedonly : Cyclone V SoC Development Kit CL_DEVICE_VENDOR = Altera Corporation CL_DEVICE_VENDOR_ID = 4466 CL_DEVICE_VERSION = OpenCL 1.0 Altera SDK for OpenCL, Version 14.0 CL_DRIVER_VERSION = 14.0 CL_DEVICE_ADDRESS_BITS = 64 CL_DEVICE_AVAILABLE = true CL_DEVICE_ENDIAN_LITTLE = true CL_DEVICE_GLOBAL_MEM_CACHE_SIZE = 32768 CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE = 0 CL_DEVICE_GLOBAL_MEM_SIZE = 536870912 CL_DEVICE_IMAGE_SUPPORT = false CL_DEVICE_LOCAL_MEM_SIZE = 16384 CL_DEVICE_MAX_CLOCK_FREQUENCY = 1000 CL_DEVICE_MAX_COMPUTE_UNITS = 1 CL_DEVICE_MAX_CONSTANT_ARGS = 8 CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE = 134217728 CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 3 CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 8192 CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE = 1024 CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR = 4 CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT = 2 CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT = 1 CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG = 1 CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT = 1 CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE = 0 Command queue out of order? = false Command queue profiling enabled? = true Using AOCX: hello_world.aocx Kernel initialization is complete. Launching the kernel... Thread# 0: Hello from Altera's OpenCL Compiler! Kernel execution is complete.