Add documentation for HWC in nOS-V
This commit is contained in:
		
							parent
							
								
									6fbc5e2693
								
							
						
					
					
						commit
						162e376f92
					
				| @ -104,3 +104,32 @@ of CPUs in that state, not the physical CPUs like other views. | ||||
| Here is an example of the Heat mini-app: | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| ## Hardware counters (HWC) view | ||||
| 
 | ||||
| The hardware counter view allows you to see the *delta* of a given set of | ||||
| hardware counters over time. The counters are read at the beginning and end of | ||||
| tasks as well as at some nOS-V API methods. | ||||
| 
 | ||||
| To enable support for HWC in nOS-V use at least level 2 in `ovni.level` or | ||||
| enable the "hwc" event set in nosv.toml. Then, make sure the | ||||
| `hwcounters.backend` option is set to "papi" and select the counters you want to | ||||
| enable in `hwcounters.papi_events`. Here is an example to trace total | ||||
| instructions and cycles: | ||||
| 
 | ||||
| ``` | ||||
| instrumentation.version = "ovni" | ||||
| ovni.level = 2 | ||||
| hwcounters.backend = "papi" | ||||
| hwcounters.papi_events = [ "PAPI_TOT_INS", "PAPI_TOT_CYC" ] | ||||
| ``` | ||||
| 
 | ||||
| You can use the `papi_avail` tool to see which counters are available for a | ||||
| particular machine and a description of each counter. Each CPU has a limit in | ||||
| how many counters can be enabled at the same time, reported in the *Number | ||||
| Hardware Counters* line. | ||||
| 
 | ||||
| The events for HWC are generated in cpu.prv and thread.prv for CPUs and threads, | ||||
| respectively. For each enabled hardware counter, a new configuration file will | ||||
| be created at `cfg/cpu/nosv/hwc-*.cfg` and `cfg/thread/nosv/hwc-*.cfg` with the | ||||
| corresponding name of the counter. | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user