Module: BOAST::MPPAProbe
Class Method Summary
collapse
address_size, address_size=, annotate, annotate=, annotate?, annotate_indepth_list, annotate_indepth_list=, annotate_level, annotate_level=, annotate_list, annotate_list=, architecture, architecture=, array_start, array_start=, chain_code, chain_code=, chain_code?, debug, debug=, debug?, debug_source, debug_source=, debug_source?, decl_module, decl_module=, decl_module?, default_align, default_align=, default_int_signed, default_int_signed=, default_int_signed?, default_int_size, default_int_size=, default_real_size, default_real_size=, disable_openmp, disable_openmp=, disable_openmp?, ffi, ffi=, ffi?, fortran_line_length, fortran_line_length=, get_address_size, get_annotate, get_annotate_indepth_list, get_annotate_level, get_annotate_list, get_architecture, get_array_start, get_chain_code, get_debug, get_debug_source, get_decl_module, get_default_align, get_default_int_signed, get_default_int_size, get_default_real_size, get_disable_openmp, get_ffi, get_fortran_line_length, get_indent_increment, get_indent_level, get_keep_temp, get_lang, get_model, get_optimizer_log, get_optimizer_log_file, get_output, get_replace_constants, get_use_vla, get_verbose, indent_increment, indent_increment=, indent_level, indent_level=, keep_temp, keep_temp=, keep_temp?, lang, lang=, model, model=, optimizer_log, optimizer_log=, optimizer_log?, optimizer_log_file, optimizer_log_file=, output, output=, replace_constants, replace_constants=, replace_constants?, set_address_size, set_annotate, set_annotate_indepth_list, set_annotate_level, set_annotate_list, set_architecture, set_array_start, set_chain_code, set_debug, set_debug_source, set_decl_module, set_default_align, set_default_int_signed, set_default_int_size, set_default_real_size, set_disable_openmp, set_ffi, set_fortran_line_length, set_indent_increment, set_indent_level, set_keep_temp, set_lang, set_model, set_optimizer_log, set_optimizer_log_file, set_output, set_replace_constants, set_use_vla, set_verbose, use_vla, use_vla=, use_vla?, verbose, verbose=, verbose?
Class Method Details
.compute ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/BOAST/Runtime/MPPARuntime.rb', line 37
def compute
get_output.print <<EOF
mppa_mon_measure_stop(_mppa_ctx, &_mppa_report);
_mppa_avg_pwr = 0;
_mppa_energy = 0;
for(_mppa_i=0; _mppa_i < _mppa_report->count; _mppa_i++){
_mppa_avg_pwr += _mppa_report->measures[_mppa_i].avg_power;
_mppa_energy += _mppa_report->measures[_mppa_i].total_energy;
}
_mppa_avg_pwr = _mppa_avg_pwr/(float) _mppa_report->count;
_mppa_duration = _mppa_report->total_time;
mppa_mon_measure_free_report(_mppa_report);
mppa_mon_close(_mppa_ctx);
rb_hash_aset(_boast_stats,ID2SYM(rb_intern("mppa_avg_pwr")),rb_float_new(_mppa_avg_pwr));
rb_hash_aset(_boast_stats,ID2SYM(rb_intern("mppa_energy")),rb_float_new(_mppa_energy));
rb_hash_aset(_boast_stats,ID2SYM(rb_intern("mppa_duration")), rb_float_new(_mppa_duration));
EOF
end
|
28
29
|
# File 'lib/BOAST/Runtime/MPPARuntime.rb', line 28
def configure
end
|
.decl ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/BOAST/Runtime/MPPARuntime.rb', line 14
def decl
get_output.print <<EOF
float _mppa_avg_pwr;
float _mppa_energy;
float _mppa_duration;
mppa_mon_ctx_t * _mppa_ctx;
mppa_mon_sensor_t _mppa_pwr_sensor[] = {MPPA_MON_PWR_MPPA0};
mppa_mon_measure_report_t * _mppa_report;
mppa_mon_open(0, &_mppa_ctx);
mppa_mon_measure_set_sensors(_mppa_ctx, _mppa_pwr_sensor, 1);
mppa_mon_measure_start(_mppa_ctx);
EOF
end
|
Monitoring has to be started before transfer begin and after transfers end as we don’t have sync points in between.
10
11
12
|
# File 'lib/BOAST/Runtime/MPPARuntime.rb', line 10
def
get_output.puts "#include <mppa_mon.h>"
end
|
.start ⇒ Object
31
32
|
# File 'lib/BOAST/Runtime/MPPARuntime.rb', line 31
def start
end
|
.stop ⇒ Object
34
35
|
# File 'lib/BOAST/Runtime/MPPARuntime.rb', line 34
def stop
end
|