01-08-2019, 09:57 AM
(This post was last modified: 01-08-2019, 09:59 AM by akurth.
Edit Reason: typo
)
Hi Adi,
Quote:I use the ARM standalone application just as a way of running my PULP application, if this is at all necessary, is it?Yes, on HERO you need to use the standalone application to launch execution on PULP from the ARM host.
Quote:When I simulated my accelerator on PULPissimo, my PULP application stored data in the TCDM simply by accessing a known offset (there was no virtualization), and the accelerator could access the same data with the appropriate address. I want to have the same functionality with HERO, so how do I do it?The TCDM of PULP is physically addressed on HERO, just like it is on PULPissimo. You should be able to use the same offset if it does not conflict with other data stored in the TCDM (e.g., by the RTE).
Quote:If I use addresses like in PULPissimo, what are the proper addresses? (I was advised to use 0x1b201000, but it didn't work for me)Proper addresses for what? 0x1b201000 would be in the peripherals, and I think it should go to the HWPE. What do you mean by it did not work? What happens in an RTL simulation of bigPULP with your accelerator at the HWPE when you access that address?
Quote:what Makefile I use which will work with both the HWPE API and the data sharing API?What data sharing API? Not HERO's, since you mentioned that you do not want to share data between host and PULP, correct? What does not work with the Makefile from the PULP SDK I sent you a while ago?
Quote:I tried to build another riscv toolchain with gfortran in order to compile the library. However, when I try to link libgfortran.a (generated with the second toolchain) to the PULP application using the HERO scripts, I get a lot of link errors about std C functions that are missing.What second toolchain did you use? The PULP SDK deliberately only implements a subset of the standard C library, so unless the other toolchain and the Fortran library are similarly specialized, a lot of mismatches can happen. Do you need the functions that are missing, or could you reduce the Fortran library to the required minimum and thus work around the missing functions?
Quote:So I was wondering, what is the proper way of compiling Fortran in a PULP application? Alternatively, if you're familiar with another solution of using BLAS on PULP, I'd appreciate if you could refer me to it.Personally I do not have experience with Fortran and BLAS on PULP, but maybe other members of the members of the team do.