I tried to run the openMP example given in pulp-rt-examples repository. But the simulation gets stuck at the rt_cluster_call(..); function in the test.c file.
I have tried running Hello and Coremark examples for the same platform and they work perfectly.
In order to find out that it gets at stuck at the rt_cluster_call, I put print statements before and after the function call. The modified "test.c" code is attached below. And the output seen is also attached .
I tried to run pulp-rt-examples/cluster/fork, and it works fine:
Code:
# [STDOUT-CL31_PE0] Entering main controller
# [TRACER] Output filename is: trace_core_00_0.log
# [TRACER] Output filename is: trace_core_00_1.log
# [TRACER] Output filename is: trace_core_00_2.log
# [TRACER] Output filename is: trace_core_00_3.log
# [TRACER] Output filename is: trace_core_00_4.log
# [TRACER] Output filename is: trace_core_00_5.log
# [TRACER] Output filename is: trace_core_00_6.log
# [TRACER] Output filename is: trace_core_00_7.log
# [STDOUT-CL0_PE0] (0, 0) Entered cluster with arg 0
# [STDOUT-CL0_PE0] (0, 0) Entered PE with arg 12345678
# [STDOUT-CL0_PE1] (0, 1) Entered PE with arg 12345678
# [STDOUT-CL0_PE4] (0, 4) Entered PE with arg 12345678
# [STDOUT-CL0_PE5] (0, 5) Entered PE with arg 12345678
# [STDOUT-CL0_PE3] (0, 3) Entered PE with arg 12345678
# [STDOUT-CL0_PE7] (0, 7) Entered PE with arg 12345678
# [STDOUT-CL0_PE6] (0, 6) Entered PE with arg 12345678
# [STDOUT-CL0_PE2] (0, 2) Entered PE with arg 12345678
# [TB] 16074973188 - Received status core: 0x00000000
Can you share some details on your setup, in particular version (or commit hash from git log) of PULP RTL you are running on? Can you try the same test I mentioned?
On porting to the new SDK and running any example. I get makefile error which says : "/install/rules/pulp_rt.mk: No such file or directory"
The version of the PULP SDK available here : https://github.com/pulp-platform/pulp-sdk does not throw any such error. I have been running all examples using this version of the SDK.
Does the makefile in the examples need to modified for proper working to be seen in the lastest version of the PULP SDK.
On changing to the SDK that you have mentioned. I am able to run the example in pulp-rt-examples/cluster/fork.
The output that I receive on running this example is attached with this post. The complete example runs and then the testbench shows an error.
In the tb_pulp.sv file the testbench is breaking at the line 602 where : "$stop" is written. Is this expected behavior?
However, the OpenMP example still does not work even after making these changes. The output after running the OpenMP example is attached with this post. How can this error be resolved?
Also, I have observed that there is a testset.cfg file present in the cluster/fork example. Is this file necessary everytime cluster operations are run?
Hi Athena, the $stop breaking is absolutely correct behavior. Rgd the error you see, it is software related, I am unsure about the status of the OpenMP runtime in some SDK versions...