diff --git a/README.md b/README.md index 0b123a8d6..23a0531b9 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ The novel features of Inference-Engine include 2. Gathering network weights and biases into contiguous arrays 3. Runtime selection of inferences strategy and activation strategy. -Item 1 facilitates invoking Inference-Engine's `infer` function inside Fortran's `do concurrent` constructs, which some compilers can offload automatically to graphics processing units (GPUs). We envision this being useful in applications that require large numbers of independent inferences or networks to to train. Item 2 exploits the special case where the number of neurons is uniform across the network layers. The use of contiguous arrays facilitates spatial locality in memory access patterns. Item 3 offers the possibility of adaptive inference method selection based on runtime information. The current methods include ones based on intrinsic functions, `dot_product` or `matmul`. Future options will explore the use of OpenMP and OpenACC for vectorization, multithreading, and/or accelerator offloading. +Item 1 facilitates invoking Inference-Engine's `infer` function inside Fortran's `do concurrent` constructs, which some compilers can offload automatically to graphics processing units (GPUs). We envision this being useful in applications that require large numbers of independent inferences or or multiple networks to train concurrently. Item 2 exploits the special case where the number of neurons is uniform across the network layers. The use of contiguous arrays facilitates spatial locality in memory access patterns. Item 3 offers the possibility of adaptive inference method selection based on runtime information. The current methods include ones based on intrinsic functions, `dot_product` or `matmul`. Future options will explore the use of OpenMP and OpenACC for vectorization, multithreading, and/or accelerator offloading. Downloading, Building and Testing --------------------------------- diff --git a/src/inference_engine/expected_outputs_m.f90 b/src/inference_engine/expected_outputs_m.f90 index d18913284..1eab65a57 100644 --- a/src/inference_engine/expected_outputs_m.f90 +++ b/src/inference_engine/expected_outputs_m.f90 @@ -1,3 +1,5 @@ +! Copyright (c), The Regents of the University of California +! Terms of use are as specified in LICENSE.txt module expected_outputs_m use kind_parameters_m, only : rkind implicit none diff --git a/src/inference_engine/expected_outputs_s.f90 b/src/inference_engine/expected_outputs_s.f90 index 3e15e89df..5559df8cb 100644 --- a/src/inference_engine/expected_outputs_s.f90 +++ b/src/inference_engine/expected_outputs_s.f90 @@ -1,3 +1,5 @@ +! Copyright (c), The Regents of the University of California +! Terms of use are as specified in LICENSE.txt submodule(expected_outputs_m) expected_outputs_s implicit none diff --git a/src/inference_engine/input_output_pair_m.f90 b/src/inference_engine/input_output_pair_m.f90 index c1052d82b..90f6529b8 100644 --- a/src/inference_engine/input_output_pair_m.f90 +++ b/src/inference_engine/input_output_pair_m.f90 @@ -1,3 +1,5 @@ +! Copyright (c), The Regents of the University of California +! Terms of use are as specified in LICENSE.txt module input_output_pair_m use expected_outputs_m, only : expected_outputs_t use kind_parameters_m, only : rkind diff --git a/src/inference_engine/input_output_pair_s.f90 b/src/inference_engine/input_output_pair_s.f90 index 3bb69dfc2..a5a58963f 100644 --- a/src/inference_engine/input_output_pair_s.f90 +++ b/src/inference_engine/input_output_pair_s.f90 @@ -1,3 +1,5 @@ +! 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 implicit none diff --git a/src/inference_engine/kind_parameters_m.f90 b/src/inference_engine/kind_parameters_m.f90 index e18adffb8..17afad275 100644 --- a/src/inference_engine/kind_parameters_m.f90 +++ b/src/inference_engine/kind_parameters_m.f90 @@ -1,3 +1,5 @@ +! Copyright (c), The Regents of the University of California +! Terms of use are as specified in LICENSE.txt module kind_parameters_m implicit none private diff --git a/src/inference_engine/mini_batch_m.f90 b/src/inference_engine/mini_batch_m.f90 index 2df30382d..920af7e42 100644 --- a/src/inference_engine/mini_batch_m.f90 +++ b/src/inference_engine/mini_batch_m.f90 @@ -1,3 +1,5 @@ +! Copyright (c), The Regents of the University of California +! 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 diff --git a/src/inference_engine/mini_batch_s.f90 b/src/inference_engine/mini_batch_s.f90 index 245fa3a36..57a4cc27c 100644 --- a/src/inference_engine/mini_batch_s.f90 +++ b/src/inference_engine/mini_batch_s.f90 @@ -1,3 +1,5 @@ +! Copyright (c), The Regents of the University of California +! Terms of use are as specified in LICENSE.txt submodule(mini_batch_m) mini_batch_s implicit none diff --git a/src/inference_engine/network_increment_m.f90 b/src/inference_engine/network_increment_m.f90 index ddfae16c3..2d86a2b54 100644 --- a/src/inference_engine/network_increment_m.f90 +++ b/src/inference_engine/network_increment_m.f90 @@ -1,3 +1,5 @@ +! Copyright (c), The Regents of the University of California +! Terms of use are as specified in LICENSE.txt module network_increment_m use kind_parameters_m, only : rkind implicit none diff --git a/src/inference_engine/network_increment_s.f90 b/src/inference_engine/network_increment_s.f90 index a01e01378..e66adcf3b 100644 --- a/src/inference_engine/network_increment_s.f90 +++ b/src/inference_engine/network_increment_s.f90 @@ -1,3 +1,5 @@ +! Copyright (c), The Regents of the University of California +! Terms of use are as specified in LICENSE.txt submodule(network_increment_m) network_increment_s use assert_m, only : assert implicit none diff --git a/src/inference_engine_m.f90 b/src/inference_engine_m.f90 index bca18e95b..09b6fcf21 100644 --- a/src/inference_engine_m.f90 +++ b/src/inference_engine_m.f90 @@ -1,3 +1,5 @@ +! Copyright (c), The Regents of the University of California +! Terms of use are as specified in LICENSE.txt module inference_engine_m use activation_strategy_m use concurrent_dot_products_m