# A parallel Fortran framework for neural networks and deep learning

arXiv: https://arxiv.org/abs/1902.06714 · HTML: https://mlsanity.com/paper/1902.06714/

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 18 Feb 2019.

## Built on by (most cited first, 3 of 3)

- [Bridging observation, theory and numerical simulation of the ocean using Machine Learning](https://mlsanity.com/paper/2104.12506/) (2021)
- [Deep Reinforcement Learning for Computational Fluid Dynamics on HPC Systems](https://mlsanity.com/paper/2205.06502/) (2022)
- [RoseNNa: A performant, portable library for neural network inference with application to computational fluid dynamics](https://mlsanity.com/paper/2307.16322/) (2023)

## Abstract (arXiv)

This paper describes neural-fortran, a parallel Fortran framework for neural networks and deep learning. It features a simple interface to construct feed-forward neural networks of arbitrary structure and size, several activation functions, and stochastic gradient descent as the default optimization algorithm. Neural-fortran also leverages the Fortran 2018 standard collective subroutines to achieve data-based parallelism on shared- or distributed-memory machines. First, I describe the implementation of neural networks with Fortran derived types, whole-array arithmetic, and collective sum and broadcast operations to achieve parallelism. Second, I demonstrate the use of neural-fortran in an example of recognizing hand-written digits from images. Finally, I evaluate the computational performance in both serial and parallel modes. Ease of use and computational performance are similar to an existing popular machine learning framework, making neural-fortran a viable candidate for further development and use in production.
