Skip to content

Commit bcf4cc5

Browse files
authored
Merge pull request #280 from BerkeleyLab/multi-file-histograms
Feature: aggregate tensor statistics across multiple training-data files
2 parents 2a0b4b7 + 5fb0ee6 commit bcf4cc5

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

demo/app/tensor-statistics.F90

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,15 @@ program tensor_statistics
3434
type command_line_arguments_t
3535
integer :: num_bins = 0
3636
end type
37-
integer(int64) t_start, t_finish, clock_rate
37+
integer(int64) start_time, end_time, clock_rate
38+
character(len=*), parameter :: data_file_name = "training_data_files.json", configuration_file_name = "training_configuration.json"
3839

3940
associate(args => command_line_arguments())
4041
if (args%num_bins < 1) error stop usage
41-
call system_clock(t_start, clock_rate)
42-
call calc_write_stats(args, training_data_files_t(file_t("training_data_files.json")), training_configuration_t(file_t("training_configuration.json")))
43-
call system_clock(t_finish)
44-
call print_trailer(args, elapsed_time = real(t_finish - t_start, real64)/real(clock_rate, real64))
42+
call system_clock(start_time, clock_rate)
43+
call write_stats(args, training_data_files_t(file_t(data_file_name)), training_configuration_t(file_t(configuration_file_name)))
44+
call system_clock(end_time)
45+
call print_trailer(args, elapsed_time = real(end_time - start_time, real64)/clock_rate)
4546
end associate
4647

4748
contains
@@ -57,7 +58,7 @@ subroutine print_trailer(args, elapsed_time)
5758
type(command_line_arguments_t), intent(in) :: args
5859
real(real64), intent(in) :: elapsed_time
5960

60-
print '(a,g0)',"System clock time: ", elapsed_time
61+
print '(a,en10.2)',"Elapsed system-clock time: ", elapsed_time, " sec."
6162
print *
6263
print '(a)',"______________________________________________________"
6364
print '(a)',"The *.plt files contain tensor ranges and histograms."
@@ -69,7 +70,7 @@ subroutine print_trailer(args, elapsed_time)
6970
print '(a)',"_______________ tensor_statistics done________________"
7071
end subroutine
7172

72-
subroutine calc_write_stats(args, training_data_files, training_configuration)
73+
subroutine write_stats(args, training_data_files, training_configuration)
7374
type(command_line_arguments_t), intent(in) :: args
7475
type(training_data_files_t) , intent(in) :: training_data_files
7576
type(training_configuration_t), intent(in) :: training_configuration
@@ -114,8 +115,8 @@ subroutine calc_write_stats(args, training_data_files, training_configuration)
114115
compute_histograms: &
115116
associate(histograms => [(histogram(input_variable(v,:), args%num_bins), v = 1, num_variables)])
116117
call system_clock(t_histo_finish)
117-
print '(a,i0,a,g0,a)',"computed ", size(histograms), " histograms in " &
118-
,real(t_histo_finish - t_histo_start, real64)/real(clock_rate, real64), " sec."
118+
print '(a,i0,a,en10.2,a)', &
119+
"computed ", size(histograms), " histograms in ", real(t_histo_finish - t_histo_start, real64)/clock_rate, " sec."
119120

120121
print '(a)',"Writing input tensor histogram file(s)"
121122

@@ -181,8 +182,8 @@ subroutine calc_write_stats(args, training_data_files, training_configuration)
181182
compute_histograms: &
182183
associate(histograms => [(histogram(derivative(v,:), args%num_bins), v = 1, num_output_variables)])
183184
call system_clock(t_histo_finish)
184-
print '(a,i0,a,g0,a)',"computed ", size(histograms), " histograms in " &
185-
,real(t_histo_finish - t_histo_start, real64)/real(clock_rate, real64), " sec."
185+
print '(a,i0,a,en10.2,a)', &
186+
"computed ", size(histograms), " histograms in ",real(t_histo_finish - t_histo_start, real64)/clock_rate, " sec."
186187

187188
print '(a)',"Writing desired-output tensor histograms file"
188189
block

0 commit comments

Comments
 (0)