diff --git a/src/inference_engine/inference_engine_s.F90 b/src/inference_engine/inference_engine_s.F90 index 385a43fa9..8591b76c7 100644 --- a/src/inference_engine/inference_engine_s.F90 +++ b/src/inference_engine/inference_engine_s.F90 @@ -308,11 +308,26 @@ function get_key_value(line) result(value_) difference%nodes_difference_(l) = self%nodes_(l) - rhs%nodes_(l) associate(n => self%nodes_) +#ifndef __INTEL_COMPILER do concurrent(l = 1:ubound(n,1)) difference%weights_difference_(1:n(l),1:n(l-1),l) = self%weights_(1:n(l),1:n(l-1),l) - rhs%weights_(1:n(l),1:n(l-1),l) difference%biases_difference_(1:n(l),l) = self%biases_(1:n(l),l) - rhs%biases_(1:n(l),l) difference%nodes_difference_(l) = self%nodes_(l) - rhs%nodes_(l) end do +#else + block + integer j, k + do l = 1, ubound(n,1) + do j = 1, n(l) + do k = 1, n(l-1) + difference%weights_difference_(j,k,l) = self%weights_(j,k,l) - rhs%weights_(j,k,l) + difference%biases_difference_(j,l) = self%biases_(j,l) - rhs%biases_(j,l) + difference%nodes_difference_(l) = self%nodes_(l) - rhs%nodes_(l) + end do + end do + end do + end block +#endif end associate end block diff --git a/test/trainable_engine_test_m.F90 b/test/trainable_engine_test_m.F90 index 8b394ba22..0923e69fb 100644 --- a/test/trainable_engine_test_m.F90 +++ b/test/trainable_engine_test_m.F90 @@ -286,7 +286,7 @@ function xor_gate_with_random_weights() result(test_passes) !! Depending on where in the random-number sequence the weights start, this test can pass for lower !! numbers of iterations, e.g., 400000. Using more iterations gives more robust convergence. #else - integer, parameter :: num_inputs=2, mini_batch_size = 1, num_iterations=52219 + integer, parameter :: num_inputs=2, mini_batch_size = 1, num_iterations=49000 !! Reducing num_iterations yields a less robust test, but increasing num_iterations causes this !! test to crash when compiled with the Intel ifx compiler. #endif