Hi Nichols,
As far as I know, the latest
RISC-V Privileged Specification contains a design for hardware counters but it is unclear to me whether this is a final version. It seems too simple for me to cover all use-cases like more external units (memory controller, ...). Moreover, HPC relevant stuff like vectorization is not yet finalized (to my knowledge). I hope that each component (e.g. vectorization) will add own events.
1. Work on these specifications occurs on
Github . You could probably work on broader support there. My assumption is that it will be somewhat similar to the ARM world with a basic set (in the specs) and vendor-specific extensions.
2. For LIKWID, there exist two wiki pages (Feedback to the docs would be great):
For RISC-V, I don't know enough about the architecture/ISA/... to tell whether the direct access and accessdaemon backends can be made. We need access to the performance counters from user-space, so either there are instructions to access them directly or we need a kernel-interface for register access. That's also the reason why LIKWID has no direct access for ARM, the user-space access can be enabled, but only at kernel level (kernel module required) and there is no interface for register access.
Best,
Thomas