To help users generate a valid data.pcl file. Compile as $FC -I$PCLINC -DUSE_PCL pcl_events.F -o pcl_events -L$PCLLIB -lpcl $OTHER_LIBS where $OTHER_LIBS would be -lperfctr (on Linux/x86) or -lcpc (on SunOS) depending on what other libraries PCL depends on. Run in the same directory as a candidate data.pcl. Correct lines as suggested. If compiled without the -DUSE_PCL define flag it will simply inform the user of which PCL rate events can be measured concurrently, starting with Mflop/s. Please note that PCL events are always specified as their numeric value: 0 PCL_L1CACHE_READ 1 PCL_L1CACHE_WRITE 2 PCL_L1CACHE_READWRITE 3 PCL_L1CACHE_HIT 4 PCL_L1CACHE_MISS 5 PCL_L1DCACHE_READ 6 PCL_L1DCACHE_WRITE 7 PCL_L1DCACHE_READWRITE 8 PCL_L1DCACHE_HIT 9 PCL_L1DCACHE_MISS 10 PCL_L1ICACHE_READ 11 PCL_L1ICACHE_WRITE 12 PCL_L1ICACHE_READWRITE 13 PCL_L1ICACHE_HIT 14 PCL_L1ICACHE_MISS 15 PCL_L2CACHE_READ 16 PCL_L2CACHE_WRITE 17 PCL_L2CACHE_READWRITE 18 PCL_L2CACHE_HIT 19 PCL_L2CACHE_MISS 20 PCL_L2DCACHE_READ 21 PCL_L2DCACHE_WRITE 22 PCL_L2DCACHE_READWRITE 23 PCL_L2DCACHE_HIT 24 PCL_L2DCACHE_MISS 25 PCL_L2ICACHE_READ 26 PCL_L2ICACHE_WRITE 27 PCL_L2ICACHE_READWRITE 28 PCL_L2ICACHE_HIT 29 PCL_L2ICACHE_MISS 30 PCL_TLB_HIT 31 PCL_TLB_MISS 32 PCL_ITLB_HIT 33 PCL_ITLB_MISS 34 PCL_DTLB_HIT 35 PCL_DTLB_MISS 36 PCL_CYCLES 37 PCL_ELAPSED_CYCLES 38 PCL_INTEGER_INSTR 39 PCL_FP_INSTR 40 PCL_LOAD_INSTR 41 PCL_STORE_INSTR 42 PCL_LOADSTORE_INSTR 43 PCL_INSTR 44 PCL_JUMP_SUCCESS 45 PCL_JUMP_UNSUCCESS 46 PCL_JUMP 47 PCL_ATOMIC_SUCCESS 48 PCL_ATOMIC_UNSUCCESS 49 PCL_ATOMIC 50 PCL_STALL_INTEGER 51 PCL_STALL_FP 52 PCL_STALL_JUMP 53 PCL_STALL_LOAD 54 PCL_STALL_STORE 55 PCL_STALL and the last 5 ("rate events") cannot be used when "-pcl" is used in genmake2: 56 PCL_MFLOPS 57 PCL_IPC 58 PCL_L1DCACHE_MISSRATE 59 PCL_L2DCACHE_MISSRATE 60 PCL_MEM_FP_RATIO