Thanks for your response.
I think that the channel extension itself is not supported for SoC platforms. Because even the simple kernel like the one below is not working. It compiles fine. However, the commands will not finish at all. I am using Arria 10 SoC platform with Quartus Pro 16.1. Please help to clarify. I tried posting is forum but I was asked to contact Altera directly. Please suggest / redirect this request accordingly.
------------------This is the kernel I am using-----------------------------
#pragma OPENCL_EXTENSION cl_altera_channels : enable
channel int c0;
__kernel void producer() {
for(int i=0; i < 10; i++) {
write_channel_altera(c0, i);
printf("Producer : Writing %d into Channel\n", i);
}
}
__kernel void consumer( __global uint * restrict dst ) {
for(int i=0; i < 5; i++) {
dst
= read_channel_altera(c0);
printf("consumer : read %d from channel\n", dst);
}
}
--------------------------------------------------------------------------------
========Device Query Log========
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 16.1
Querying device for info:
========================
CL_DEVICE_NAME = a10socArria 10 SoC Development Kit
CL_DEVICE_VENDOR = Altera Corporation
CL_DEVICE_VENDOR_ID = 4466
CL_DEVICE_VERSION = OpenCL 1.0 Altera SDK for OpenCL, Version 16.1
CL_DRIVER_VERSION = 16.1
CL_DEVICE_ADDRESS_BITS = 64
CL_DEVICE_AVAILABLE = true
CL_DEVICE_ENDIAN_LITTLE = true
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE = 0
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE = 0
CL_DEVICE_GLOBAL_MEM_SIZE = 0
CL_DEVICE_IMAGE_SUPPORT = true
CL_DEVICE_LOCAL_MEM_SIZE = 0
CL_DEVICE_MAX_CLOCK_FREQUENCY = 0
CL_DEVICE_MAX_COMPUTE_UNITS = 0
CL_DEVICE_MAX_CONSTANT_ARGS = 0
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE = 0
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 3
CL_DEVICE_MEM_BASE_ADDR_ALIGN = 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