<p><b>dwj07@fsu.edu</b> 2011-12-20 15:04:36 -0700 (Tue, 20 Dec 2011)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Cleaning up write statements for hardware counters.<br>
<br>
        Fixing a bug in hardware counters.<br>
<br>
        Still can only initialize 3 (on my laptop) and only counters 1 and 3 print any values.<br>
<br>
        Will test on lobo or another machine.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/performance/src/framework/mpas_counter.F
===================================================================
--- branches/ocean_projects/performance/src/framework/mpas_counter.F        2011-12-20 21:05:14 UTC (rev 1267)
+++ branches/ocean_projects/performance/src/framework/mpas_counter.F        2011-12-20 22:04:36 UTC (rev 1268)
@@ -71,7 +71,7 @@
write(*,*) ''
do i = 1, num_counters
- write(*,*) counter_names(i), ' ', counters(i)
+ write(*,'(a15, i15)') counter_names(i), counters(i)
end do
end subroutine mpas_counter_write!}}}
@@ -106,29 +106,26 @@
call mpas_dmpar_abort(domain % dminfo)
end if
- ! L2 Total Cache Misses
- event_code = PAPI_L2_TCM
+ ! L1 Total Cache Misses
+ event_code = PAPI_L1_TCM
call PAPIF_add_event(event_set, event_code, err)
if ( err == PAPI_OK) then
num_counters = num_counters + 1
else
- print *,'Error in add PAPI_L2_TCM'
- call PAPIF_remove_event(event_set, event_code, err)
+ print *,'Error in add PAPI_L1_TCM', err
end if
+ ! L2 Total Cache Misses
+ event_code = PAPI_L2_TCM
- ! L1 Total Cache Misses
- event_code = PAPI_L1_TCM
-
call PAPIF_add_event(event_set, event_code, err)
if ( err == PAPI_OK) then
num_counters = num_counters + 1
else
- print *,'Error in add PAPI_L1_TCM'
- call PAPIF_remove_event(event_set, event_code, err)
+ print *,'Error in add PAPI_L2_TCM', err
end if
! L3 Total Cache Misses
@@ -139,33 +136,32 @@
if ( err == PAPI_OK) then
num_counters = num_counters + 1
else
- print *,'Error in add PAPI_L3_TCM'
- call PAPIF_remove_event(event_set, event_code, err)
+ print *,'Error in add PAPI_L3_TCM', err
end if
- ! Stalled Cycles
- event_code = PAPI_STL_ICY
+ ! Mispredicted Branches
+ event_code = PAPI_BR_MSP
call PAPIF_add_event(event_set, event_code, err)
if ( err == PAPI_OK) then
num_counters = num_counters + 1
else
- print *,'Error in add PAPI_STL_ICY', err
- call PAPIF_remove_event(event_set, event_code, err)
+ print *,'Error in add PAPI_BR_MSP', err
end if
-
+
+
allocate(counters(num_counters))
allocate(event_list(num_counters))
allocate(counter_names(num_counters))
- tmp_counters = num_counters
- call PAPIF_list_events(event_set, event_list, tmp_counters)
+ call PAPIF_list_events(event_set, event_list, num_counters, err)
do i = 1, num_counters
call PAPIF_event_code_to_name(event_list(i), counter_names(i), err)
enddo
+ deallocate(event_list)
#endif
end subroutine mpas_counter_init!}}}
</font>
</pre>