Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
10 years ago

nallatech pcie385N num_compute_unit

Hi ,

In the paper (http://www.nallatech.com/wp-content/uploads/40_gbit_aes_encryption_using_opencl_and_fpgas_final.pdf) , the programmers could set __attribute__((num_copies(n)) where n = 2 using nallatech pcie385N.

But I used helloworld program to print the OpenCL hardware information using pcie_385N_d5, it showed that Max_compute_unit = 1.

What is the difference between these two the same board.

CL_DEVICE_NAME = p385_hpc_d5 : PCIe385n

CL_DEVICE_VENDOR = Nallatech ltd

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 = 8589934592

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 = 2147483648

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

thanks

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Nevermind about that.

    When you set __attribute__((num_copies(n)) and get the compilation/synthesis/P&R to go through, you get n compute units on the kernel. AFAIK, you could be seeing the number of compute units of the bitstream that was flashed on the board so that you can program it on-the-fly. I'd say if you were to manually flash with a bitstream with a kernel with N compute units you'd see CL_DEVICE_MAX_COMPUTE_UNITS = N. Still, that doesn't tell you much, since you'll be reconfiguring the FPGA for all the kernel executions performed...

    As a disclaimer, I haven't used AOCL since 13.0sp1.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Since each kernel may have its own attributes, it the value of such attributes would not show up in calls to clGetDeviceInfo. If anything, look for info in clGetKernelInfo or clGetKernelWorkGroupInfo.