FPGA timing violation with oneAPI for BittWare IA-840F
- 2 years ago
Hi Hareesh,
I think I have solved my problem. I misunderstood the meaning on page 15 of the technical document for the BSP.
ofs_ia840fr0 and ofs_ia840fr0_usm are different devices and only one can be used at a time.
When I both commands as listed in the document, only the last one to be executed matters.
aocl initialize acl0 ofs_ia840fr0
aocl initialize acl0 ofs_ia840fr0_usmThe vector-add program uses buffers rather than USM by default so, the report -42 (CL_INVALID_BINARY) implies that the wrong device has been initialised.
If I only run `aocl initialize acl0 ofs_ia840fr0`, then I can run the program.The first run of the program crashes (and this is listed as a known problem), but successive runs are successful:
testfpga@fpgadev01$ aocl initialize acl0 ofs_ia840fr0
aocl initialize: Running initialize from /opt/intel/oneapi/board/ia840f/linux64/libexec
Configuring locked memory setting
Configuring udev rules for DFL FPGA device permission
Configuring system with 2048 2M hugepages
Finished setup_permissions.sh script. All configuration settings are persistent.
Program succeed.testfpga@fpgadev01$ ./vector-add-buffers.fpga
Running on device: ofs_ia840fr0 : Intel OFS Platform (ofs_ef00000)
Vector size: 10000
Segmentation fault (core dumped)testfpga@fpgadev01$ ./vector-add-buffers.fpga
Running on device: ofs_ia840fr0 : Intel OFS Platform (ofs_ef00000)
Vector size: 10000
[0]: 0 + 0 = 0
[1]: 1 + 1 = 2
[2]: 2 + 2 = 4
...
[9999]: 9999 + 9999 = 19998
Vector add successfully completed on device.I hope this is helpful.
Karol.