Forum Discussion
Hi,
May I know the information as below for confirmation:
- Does the compile boardtest.cl for emulation pass?
- Does the emulator work for the example provided by developer eg: vector_add / hello_world?
- There is a change for OpenCL SDK v19.3 which is "Changed CL_CONTEXT_EMULATOR_DEVICE_INTELFPGA to CL_CONFIG_CPU_EMULATE_DEVICES". Do you used "CL_CONFIG_CPU_EMULATE_DEVICES" as a command to run emulation?
- what is the command you have used for emulation?
eg: aoc march=emulator-legacy-emulator
Thanks
Hi, I can confirm the boardtest.cl and the example works fine for the emulator as the following log shows:
---------------------------
Initializing OpenCL
Platform: Intel(R) FPGA Emulation Platform for OpenCL(TM)
Using 1 device(s)
Intel(R) FPGA Emulation Device
Using AOCX: vector_add.aocx
Launching for device 0 (1000000 elements)
Time: 4.284 ms
Kernel time (device 0): 1.197 ms
Verification: PASS
--------------------------
I am fully aware of the new ENV for v19.3 and the variable was correctly set.
The official examples provided are too small that only execute for a few seconds that makes the performance difference between the two emulators unnoticable.
You could use our opensource project PipeCNN (https://github.com/doonny/PipeCNN) to test the emulator, please try to run VGG16/ResNet-50 benchmarks and you will see the difference in emulator execution time between v19.1 and v19.3.
Our inhourse project has a much bigger longer runtime when using the new emulator. The project uses several autorun kernels, I susbect the autorun kernels caused this problem. I have captured the CPU utilization as follow. You can clear see there is a big difference: the legacy emualtor uses more threads compared to the new one.
- emulaor v19.3 (new emulator)
2. emulator v19.1 (lagecy one)
I am using Ubuntu 16.04.6 (Linux fpga-z390 4.15.0-72-generic #81~16.04.1-Ubuntu SMP Tue Nov 26 16:34:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
)
on a i9-9900K CPU with 64GB memory.