From 11838965b0dc1cf6b169b30333bc3d3fb2878062 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 20:19:46 -0700 Subject: [PATCH 01/11] chore(fpm): switch to berkeleylab/julienne fork This eliminates some NAG compiler warnings when the single-source-file version of example programs. --- fpm.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fpm.toml b/fpm.toml index 234e90654..660058e62 100644 --- a/fpm.toml +++ b/fpm.toml @@ -6,4 +6,4 @@ maintainer = "rouson@lbl.gov" [dependencies] assert = {git = "https://github.com/sourceryinstitute/assert", tag = "1.7.0"} -julienne = {git = "https://github.com/sourceryinstitute/julienne", tag = "1.0.0"} +julienne = {git = "https://github.com/berkeleylab/julienne"} From f6e0ef73fa4171945f859a286adea216f93eafd6 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 20:37:56 -0700 Subject: [PATCH 02/11] fix(neuron):nullify next_ptr if target unallocated --- src/inference_engine/neuron_s.f90 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/inference_engine/neuron_s.f90 b/src/inference_engine/neuron_s.f90 index 0056fdaaa..2d9502278 100644 --- a/src/inference_engine/neuron_s.f90 +++ b/src/inference_engine/neuron_s.f90 @@ -80,7 +80,11 @@ end procedure module procedure next_pointer - next_ptr => self%next + if (allocated(self%next)) then + next_ptr => self%next + else + next_ptr => null() + end if end procedure module procedure num_inputs From dad8666f6ecbebb47481ef0b67eab311319f403b Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 20:40:41 -0700 Subject: [PATCH 03/11] fix(layer): nullify next_ptr if target unallocated --- src/inference_engine/layer_s.f90 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/inference_engine/layer_s.f90 b/src/inference_engine/layer_s.f90 index c82b6de38..71b3783f3 100644 --- a/src/inference_engine/layer_s.f90 +++ b/src/inference_engine/layer_s.f90 @@ -172,7 +172,11 @@ end procedure module procedure next_pointer - next_ptr => self%next + if (allocated(self%next)) then + next_ptr => self%next + else + next_ptr => null() + end if end procedure end submodule layer_s From 6497a81e038af4f7c4ffe54ab14053adf05c96d3 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 20:56:52 -0700 Subject: [PATCH 04/11] chore: rm unnecessary imports of rkind parameter --- src/inference_engine/input_output_pair_m.f90 | 1 - src/inference_engine/mini_batch_m.f90 | 1 - src/inference_engine/tensor_range_m.f90 | 1 - 3 files changed, 3 deletions(-) diff --git a/src/inference_engine/input_output_pair_m.f90 b/src/inference_engine/input_output_pair_m.f90 index 5670c06bc..b05c8776f 100644 --- a/src/inference_engine/input_output_pair_m.f90 +++ b/src/inference_engine/input_output_pair_m.f90 @@ -1,7 +1,6 @@ ! Copyright (c), The Regents of the University of California ! Terms of use are as specified in LICENSE.txt module input_output_pair_m - use kind_parameters_m, only : rkind use tensor_m, only : tensor_t implicit none diff --git a/src/inference_engine/mini_batch_m.f90 b/src/inference_engine/mini_batch_m.f90 index 920af7e42..43f5f63fa 100644 --- a/src/inference_engine/mini_batch_m.f90 +++ b/src/inference_engine/mini_batch_m.f90 @@ -2,7 +2,6 @@ ! Terms of use are as specified in LICENSE.txt module mini_batch_m use input_output_pair_m, only : input_output_pair_t - use kind_parameters_m, only : rkind implicit none private diff --git a/src/inference_engine/tensor_range_m.f90 b/src/inference_engine/tensor_range_m.f90 index 4aeaa7fb6..818f36a6a 100644 --- a/src/inference_engine/tensor_range_m.f90 +++ b/src/inference_engine/tensor_range_m.f90 @@ -3,7 +3,6 @@ module tensor_range_m use tensor_m, only : tensor_t use julienne_m, only : string_t - use kind_parameters_m, only : rkind implicit none private From 8bcb9a5611ac241f57bc404561d7d520416e5a7d Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 20:59:45 -0700 Subject: [PATCH 05/11] chore(inference_engine): rm unused type --- src/inference_engine/inference_engine_m_.f90 | 1 - 1 file changed, 1 deletion(-) diff --git a/src/inference_engine/inference_engine_m_.f90 b/src/inference_engine/inference_engine_m_.f90 index 754df11ca..3a311b3de 100644 --- a/src/inference_engine/inference_engine_m_.f90 +++ b/src/inference_engine/inference_engine_m_.f90 @@ -9,7 +9,6 @@ module inference_engine_m_ use metadata_m, only : metadata_t use tensor_m, only : tensor_t use tensor_range_m, only : tensor_range_t - use differentiable_activation_strategy_m, only :differentiable_activation_strategy_t implicit none private From df8a971fed90541de3cae4ece17573fecb43f680 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 21:02:11 -0700 Subject: [PATCH 06/11] chore(layer):mv rkind use from module to submodule --- src/inference_engine/layer_m.f90 | 1 - src/inference_engine/layer_s.f90 | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/inference_engine/layer_m.f90 b/src/inference_engine/layer_m.f90 index 427fad7f6..299736e0e 100644 --- a/src/inference_engine/layer_m.f90 +++ b/src/inference_engine/layer_m.f90 @@ -3,7 +3,6 @@ module layer_m use neuron_m, only : neuron_t use julienne_string_m, only : string_t - use kind_parameters_m, only : rkind use inference_engine_m_, only : inference_engine_t use tensor_range_m, only : tensor_range_t implicit none diff --git a/src/inference_engine/layer_s.f90 b/src/inference_engine/layer_s.f90 index 71b3783f3..6221fb2ce 100644 --- a/src/inference_engine/layer_s.f90 +++ b/src/inference_engine/layer_s.f90 @@ -3,6 +3,7 @@ submodule(layer_m) layer_s use assert_m, only : assert use intrinsic_array_m, only : intrinsic_array_t + use kind_parameters_m, only : rkind implicit none contains From da09fdc94ffa3a9cf9c75ae827e7454d65a4fbc9 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 21:04:16 -0700 Subject: [PATCH 07/11] chore(input_output_pair_s): rm unneeded use assoc --- src/inference_engine/input_output_pair_s.f90 | 1 - 1 file changed, 1 deletion(-) diff --git a/src/inference_engine/input_output_pair_s.f90 b/src/inference_engine/input_output_pair_s.f90 index 5f8312587..359bd1772 100644 --- a/src/inference_engine/input_output_pair_s.f90 +++ b/src/inference_engine/input_output_pair_s.f90 @@ -1,7 +1,6 @@ ! Copyright (c), The Regents of the University of California ! Terms of use are as specified in LICENSE.txt submodule(input_output_pair_m) input_output_pair_s - use assert_m, only : assert implicit none contains From 7526b3ac75658208d43b65e3356b766cdbcbe088 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 21:06:40 -0700 Subject: [PATCH 08/11] chore(layer_s): rm unnecessary use statement --- src/inference_engine/layer_s.f90 | 1 - 1 file changed, 1 deletion(-) diff --git a/src/inference_engine/layer_s.f90 b/src/inference_engine/layer_s.f90 index 6221fb2ce..345af9b01 100644 --- a/src/inference_engine/layer_s.f90 +++ b/src/inference_engine/layer_s.f90 @@ -2,7 +2,6 @@ ! Terms of use are as specified in LICENSE.txt submodule(layer_m) layer_s use assert_m, only : assert - use intrinsic_array_m, only : intrinsic_array_t use kind_parameters_m, only : rkind implicit none From d7e43e8ec29c2d2dd725a3f66148e073005b8e93 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 21:10:11 -0700 Subject: [PATCH 09/11] chore(infer): rm unused variable --- src/inference_engine/inference_engine_s.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/inference_engine/inference_engine_s.F90 b/src/inference_engine/inference_engine_s.F90 index fd3bb39ae..0d1904a5e 100644 --- a/src/inference_engine/inference_engine_s.F90 +++ b/src/inference_engine/inference_engine_s.F90 @@ -44,7 +44,7 @@ real(rkind), allocatable :: a(:,:) integer, parameter :: input_layer = 0 - integer k, l + integer l call assert_consistency(self) From 94215feaeda3ac8310fe678ba58166d490ece322 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 21:17:43 -0700 Subject: [PATCH 10/11] chore(inference_engine_s): rm unused array --- src/inference_engine/inference_engine_s.F90 | 1 - 1 file changed, 1 deletion(-) diff --git a/src/inference_engine/inference_engine_s.F90 b/src/inference_engine/inference_engine_s.F90 index 0d1904a5e..1bda5d376 100644 --- a/src/inference_engine/inference_engine_s.F90 +++ b/src/inference_engine/inference_engine_s.F90 @@ -195,7 +195,6 @@ impure function activation_factory_method(activation_name) result(activation) type(string_t), allocatable :: lines(:) type(tensor_range_t) input_range, output_range type(layer_t) hidden_layers, output_layer - real(rkind), allocatable :: hidden_weights(:,:,:) character(len=:), allocatable :: justified_line integer l #ifdef _CRAYFTN From a69fa2ff12ed6427849768024203947f778e9360 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Sat, 20 Jul 2024 21:21:04 -0700 Subject: [PATCH 11/11] chore(example): elim unused variable warnings --- example/learn-saturated-mixing-ratio.F90 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/example/learn-saturated-mixing-ratio.F90 b/example/learn-saturated-mixing-ratio.F90 index 8546f697f..10784e9e4 100644 --- a/example/learn-saturated-mixing-ratio.F90 +++ b/example/learn-saturated-mixing-ratio.F90 @@ -174,7 +174,7 @@ function perturbed_identity_network(perturbation_magnitude, n) result(trainable_ type(trainable_engine_t) trainable_engine real, intent(in) :: perturbation_magnitude integer, intent(in) :: n(:) - integer j, k, l + integer k, l real, allocatable :: identity(:,:,:), w_harvest(:,:,:), b_harvest(:,:) associate(n_max => maxval(n), layers => size(n)) @@ -224,6 +224,8 @@ subroutine open_plot_file_for_appending(plot_file_name, plot_unit, previous_epoc lines = plot_file%lines() last_line = lines(size(lines))%string() read(last_line,*, iostat=io_status) previous_epoch, cost, previous_clock + associate(eliminate_unreferenced_variable_warning => cost) + end associate if ((io_status /= io_success .and. last_line == header) .or. len(trim(last_line))==0) then previous_epoch = 0 previous_clock = 0