Some questions about the HERO platform - Printable Version +- PULP Community (https://pulp-platform.org/community) +-- Forum: PULP's Community forum (https://pulp-platform.org/community/forumdisplay.php?fid=1) +--- Forum: PULP General questions (https://pulp-platform.org/community/forumdisplay.php?fid=2) +--- Thread: Some questions about the HERO platform (/showthread.php?tid=191) |
Some questions about the HERO platform - Olivier - 06-04-2020 Hello, I'm new to using the PULP environment and currently I am trying to familiarize myself with the HERO platform implemented on my ZC706 board and I have a few questions: • I saw that with OpenMP the workload to execute is sent to the cluster with 8 RISC-V cores. However, can I choose precisely which cores will be used to run a workload ? For example, I would like the workload W1 to be executed by cores PE0, PE1 and PE2 and the workload W2 to be executed by cores PE M to PE N-1. • I suppose it is possible with the ZC706 FPGA board to have 2 clusters of 4 RISC-V cores. Similar to the previous question, can I choose which cluster will run a workload ? • I saw in the file "fe/rtl/includes/pulp_soc_defines.sv" on Github that it is possible to define an FPU. But I can't find the apu_package.sv file mentioned in the comment on line 45 to add an FPU. Is it possible to add an FPU in big-pulp? Is the FPU shared between the cores or is it one FPU per core ? • Last question, Is it possible to add a HWCE to a cluster ? Thanks in advance RE: Some questions about the HERO platform - akurth - 07-10-2020 Hello Olivier, Thanks for your interest in the PULP platform and HERO. (06-04-2020, 03:38 PM)Olivier Wrote: • I saw that with OpenMP the workload to execute is sent to the cluster with 8 RISC-V cores. You can use the standard OpenMP API to do that. Essentially, you create a `parallel` region and use the `omp_get_thread_num()` function to determine the PE ID. (06-04-2020, 03:38 PM)Olivier Wrote: • I suppose it is possible with the ZC706 FPGA board to have 2 clusters of 4 RISC-V cores. Yes, you can do that, but you have to modify the hardware and software yourself accordingly. (06-04-2020, 03:38 PM)Olivier Wrote: • I saw in the file "fe/rtl/includes/pulp_soc_defines.sv" on Github that it is possible to define an FPU. But I can't find the apu_package.sv file mentioned in the comment on line 45 to add an FPU. The configuration for the ZC706, which is on GitHub, does not support FPUs due to area constraints. (06-04-2020, 03:38 PM)Olivier Wrote: • Last question, Is it possible to add a HWCE to a cluster ? Yes, please see the guide for integrating a HWCE/HWPE with the PULP cluster. Best, Andreas RE: Some questions about the HERO platform - Olivier - 07-13-2020 Hello, Thank you for your answers. I have two more questions: • Does an equivalent to the omp_get_thread_num() function exist to determine the cluster ID ? • In the publication "HERO: Heterogeneous Embedded Research Platform for Exploring RISC-V Manycore Accelerators on FPGAs" a "HERO’s Event tracing and analysis" is mentioned. Is this feature currently available for the HERO platform? If so, how can I use it? Best. RE: Some questions about the HERO platform - akurth - 08-27-2020 Sorry for my delayed answer, I did not get a notification about your post. Quote:Does an equivalent to the omp_get_thread_num() function exist to determine the cluster ID ? Currently not as part of the OpenMP API, but you can use `rt_cluster_id()` from the PULP runtime library for now. Quote:In the publication "HERO: Heterogeneous Embedded Research Platform for Exploring RISC-V Manycore Accelerators on FPGAs" a "HERO’s Event tracing and analysis" is mentioned. Is this feature currently available for the HERO platform? If so, how can I use it? We have not included this feature in the current HERO release, but we may include it in the next release. |