I suspect this will be of interest.
Fortran Package Manager (fpm) is a package manager and build system for Fortran. Its key goal is to improve the user experience of Fortran programmers. It does so by making it easier to build your Fortran program or library, run the executables, tests, and examples, and distribute it as a dependency to other Fortran projects. Fpm's user interface is modeled after Rust's Cargo, so if you're familiar with that tool, you will feel at home with fpm. Fpm's long term vision is to nurture and grow the ecosystem of modern Fortran applications and libraries.
Available on GitHub https://github.com/fortran-lang/fpm
I've just updated the Fortran on a Mac page.
NAG Fortran compiler Fortran compiler for Apple Silicon Macs now available to download. Available on Linux, Windows and macOS, including Apple Silicon Macs.
Absoft Pro Fortran 2021 For macOS and OS X. Fully compatible with macOS Big Sur (11.0).
First let me say I’m not a big Fortran user but any blog posts about Fortran always seem to be very popular, and the Fortran on a Mac page is one of the most popular pages.
I've been sent these details of fortran compilers that might be of interest.
NAG Fortran compiler Fortran compiler for Apple Silicon Macs now available to download.
Absoft Absoft Pro Fortran 2021 For macOS and OS X Fully compatible with macOS Big Sur (11.0).
Computation Tools :: C/Fortran On the HPC Mac OSX page, Compiled using source code from the GNU servers.
I'm not a big Fortran user but I know that the Fortran on Mac is regularly the most popular page on the site so I do post snippets of news I hope are useful.
LFortran 0.9.0 is released.
LFortran is a modern open-source (BSD licensed) interactive Fortran compiler built on top of LLVM. It can execute user’s code interactively to allow exploratory work (much like Python, MATLAB or Julia) as well as compile to binaries with the goal to run user’s code on modern architectures such as multi-core CPUs and GPUs.
The easiest is to install using Conda:
conda install lfortran jupyter
The Fortran Jupyter notebooks now just work on Linux, macOS and Windows, including stdout capture (print *, "Hello World!"), etc.
f90wrap is a tool to automatically generate Python extension modules which interface to Fortran libraries that makes use of derived types. It builds on the capabilities of the popular f2py utility by generating a simpler Fortran 90 interface to the original Fortran code which is then suitable for wrapping with f2py, together with a higher-level Pythonic wrapper that makes the existance of an additional layer transparent to the final user. f90wrap has been used to wrap a number of large software packages of relevance to the condensed matter physics community, including the QUIP molecular dynamics code and the CASTEP density functional theory code.
The full paper is here https://iopscience.iop.org/article/10.1088/1361-648X/ab82d2
Install using PIP
pip install f90wrap
Source code is on GitHub https://github.com/jameskermode/f90wrap.
Now added to the Fortran on a Mac page
Whilst I'm not a big user of Fortran I know that the Fortran on a Mac page is one of the most frequently accessed pages so I thought I'd mention this.
I was just sent details of an upcoming meeting on Fortran.
FortranCon 2020, the first international conference targeting the Fortran programming language, will take place on July 2-4, 2020, in Zürich, Switzerland.
The FortranCon 2020 is organized in two full days with speaker presentations (2. and 3. July) and a half-day workshop (4. July)
In recent years Fortran has seen a series of new standards, improving the language in regards to object-oriented, parallel and general-purpose programming. This has spurred the development of several new projects written in and for Fortran, helping the Fortran programmers - in particular, the scientific community - to modernize their code and make it more maintainable.
The call for abstracts is open https://tcevents.chem.uzh.ch/event/12/abstracts/.
Comments on the Covid-19 situation:
Even before the current pandemic we've planned to enable virtual participation (for both speakers and participants). In case the current situation persists, the conference will be held completely virtually.
xtb - An extended tight-binding semi-empirical program package can now be installed using conda
The extended tight binding program provides the geometry, frequency and non-covalent interaction (GFN) parametrisations of the tight binding Hamiltonians GFN1-xTB (JCTC 2017) and GFN2-xTB (JCTC 2019) and a preliminary version of the new GFN0-xTB https://doi.org/10.26434/chemrxiv.8326202.v1. All parametrisations consistently cover the entire periodic system up to Z=86 and include a continuum solvation model (GBSA) for common solvents.
conda install -c conda-forge xtb
conda install -c conda-forge/label/cf202003 xtb
The user guide is available online https://xtb-docs.readthedocs.io/en/latest/contents.html and the source code is on GitHub https://github.com/grimme-lab/xtb/
dftd4 - A generally applicable London dispersion correction
conda install -c conda-forge dftd4
conda install -c conda-forge/label/cf202003 dftd4
The source code is available on GitHub https://github.com/dftd4/dftd4 and includes build instructions and example usage.
To compile this version requires
- gfortran (8.2.1) or ifort (17.0.7 or 18.0.3) compiler
- meson (0.49.0) and ninja (1.8.2) as build system
- asciidoc (8.6.10) to build the man-page
The Fortran on a Mac page is always one of the most read pages so I thought I'd post this bit of Fortran news.
Flang : The Fortran frontend of LLVM was described in a technical talk recently given by Kiran Chandramohan.
This talk introduces Flang (F18), the new Fortran frontend of LLVM being written in modern C++. The talk will provide a brief introduction to Flang, motivation for writing this new compiler, design principles, architecture, status, and an invitation to contribute. F18 project started at PGI/Nvidia as a new Fortran frontend designed to work with LLVM. The aim of the project is to create a modern Fortran frontend (Fortran 2018 standard) in modern C++. In April of this year, it was accepted as an LLVM project (https://lists.llvm.org/pipermail/llvm-dev/2019-April/131703.html).
I've just had a suggestion I include this on the Fortran on a Mac page.
I see that Fortran has now joined twitter @fortranlang a little late to the party but welcome.
A few more links that might be of interest.
Fortran Standard Library, International Fortran Standards, Fortran Proposals This repository contains proposals for the Fortran Standard Committee in the Issues section. The idea for this repository is to act as a public facing discussion tool to collaborate with the user community to gather proposals for the Fortran language and systematically track all discussions for each proposal
All added to the Fortran on a Mac page.
I have limited Fortran experience but the Fortran on a Mac page is always one of the most popular pages on the site. I was recently talking to someone about training courses and they mentioned two that might be of interest. I've added them to the Fortran on a Mac page.
Fortran Course run at ETH
FORTRAN 95 is a modern programming language that is specifically designed for scientific and engineering applications. This course gives an introduction to programming in this language, and is suitable for students who have only minimal programming experience, for example with MATLAB scripts. The focus will be on Fortran 95, but differences to Fortran 77 will also be covered for those working with already-existing codes.
Fortran course run by NAG
This two day practical hands-on workshop is aimed at Fortran programmers who want to write modern code, or to modernize existing codes, to make it more readable and maintainable by encouraging good software engineering practices. This workshop will also present how to integrate tools and techniques for Fortran codes to help you develop sustainable software for your scientific and academic research particularly in a collaborative environment. Overall, the aim is to make you a better and more productive computational scientist by improving your applied computer science skills that are directly relevant to computational science.
SimplyFortran 3.5 has been released.
This release brings major upgrades to the overall package on Windows and macOS, and adds numerous minor features and bug fixes to the development environment. The GNU Fortran compiler has been updated to version 9.1.0 on Windows and macOS, which incorporates asynchronous input and output for Fortran code on these platforms. Simply Fortran's compiler on Windows handles asynchronous operations using native threading unlike the default configuration, simplifying the build process and eliminating possible external dependencies in compiled Fortran code. The integrated development environment now includes the option to manually trigger autocomplete rather than automatically popping up autocompletion lists. This minor change makes typing considerably more efficient in many cases when autocompletion is unnecessary. The ability to export a simple CMake instruction file has been added to the development environment's "Export" submenu. A possible crash due to an invalid memory access when creating a Makefile has been corrected.
I've included this on the Fortran on a Mac page and used the opportunity to update the page. I'm not a big Fortran user so if anyone knows of anything that could be included please drop me a line.
Since the Fortran on a Mac is one of the most popular pages on the site I thought I'd mention this paper, submitted to ACM SIGPLAN Fortran Forum, I've just come across.
A parallel Fortran framework for neural networks and deep learning DOI.
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.
First let me say I’m not a big Fortran user but any blog posts about Fortran always seem to be very popular, and the Fortran on a Mac page is one of the most frequently read. I've just been sent details of another Fortran program and I've added it to the page.
Illustrate is a small Fortran program for creating non-photorealistic illustrations of molecules, with cartoony colors and outlines, and soft ambient shadows. It is used to create the RCSB Molecule of the month.
Just looking at the Archer application usage over the last month, lots of materials modelling codes, electronic structure calculations and quantum-mechanical molecular dynamics, from first principles.
ARCHER is the latest UK National Supercomputing Service. The ARCHER Service started in November 2013 and is presently expected to run till November 2019. ARCHER provides a capability resource to allow researchers to run simulations and calculations that require large numbers of processing cores working in a tightly-coupled, parallel fashion.
Also clear that Fortran still dominates
As I've said many times I'm not a big Fortran user but the Fortran on a Mac page is the most accessed page on the site.
As I've noted on several occasions I'm not a big Fortran user but looking at the website stats the Fortran on a Mac page is now the third most regularly read page on the site and page views seem to be increasing.
I was recently sent a new link and I have added it to the Fortran on a Mac page.
Sourcery Institute a variety of resources for Fortran programmers, Sourcery institute tap for Homebrew formulae not in homebrew/homebrew-core, a Coarray Fortran Jupyter notebook kernel, forks of flang and gcc and OpenCoarrays a transport layer for coarray Fortran compilers.
Well after my last post about Swift and Jupyter a reader sent me link to the use of both Julia and Fortran programming languages in a Jupyter Notebook.
More information in this lecture Project Jupyter: Architecture and Evolution of an Open Platform for Modern Data Science by Fernando Perez.
Project Jupyter, evolved from the IPython environment, provides a platform for interactive computing that is widely used today in research, education, journalism and industry. The core premise of the Jupyter architecture is to provide tools for human-in-the-loop interactive computing. It provides protocols, file formats, libraries and user-facing tools optimized for the task of humans interactively exploring problems with the aid of a computer, combining natural and programming languages in a common computational narrative.
Amber is a suite of biomolecular simulation programs. It began in the late 1970's, and is maintained by an active develpment community
Amber 18 ajor new features include:
- Free energy calculations on GPUs
- GPU support for 12-6-4 ion potentials
- Domain decomposition for CPU-parallelism
- Nudged elastic band calculations for pmemd (CPU and partial GPU implementation)
- Constant redox potential calculations, to supplement constant pH simulations
- Support and significant performance improvements for the latest Maxwell, Pascal and Volta GPUs from NVIDIA.
- New pmemd.gem code for advanced force fields, including AMOEB
AmberTools 18 new features include
- CUDA-enabled pbsa solver; extensions for membrane modeling with PB *lambda-dynamics method for constant pH simulations *packmol_memgen tool for building lipids and bilayers *New ("middle") integration algorithms in sander *Build tools based on CMake *Continued updates and extensions to cpptraj: *ability to obtain energies from snapshots of PME simulations *Pairlist and other speedups *improved scripting abilities
Instructions for installing Amber under Mac OSX are here http://ambermd.org/Installation.php
You will need to install gfortran, whilst you can download the binary it might be worth considering using Homebrew as described here
First let me say I’m not a big Fortran user but any blog posts about Fortran always seem to be very popular, and I do get asked regularly about how to compile Fortran applications.
So I've decided to gather together all the Fortran news, tips and resources onto a dedicated Fortran on a Mac page.
If you know of anything else it would be useful to include please let me know.
I just came across Simply Fortran includes the GNU Fortran compiler, an advanced development environment including project management, and an integrated debugger for fast and easy installation.
Simply Fortran is tested on OSX Snow Leopard through macOS Sierra.
Added to the Fortran on a Mac page.
Everytime I mention Fortran there is an uptick in the site views so I know there are plenty of readers with an interest in Fortran on a Mac.
There is an interesting post on the NextMove Software blog, Just what you wanted for Christmas – a compiler for Gaussian.
This package provides a “pgf77” script that emulates the Portland Group’s PGI fortran 77 compiler, instead using the Free Software Foundation’s GNU gfortran compiler instead. This emulation is sufficient to allow packages such as Gaussian03, that would otherwise require a commercial compiler, to be built using open source tools. In addition, this package also allows Gaussian03 to be built on a case-insensitive file system (such as when using Mac OS X, cygwin or a FAT32 drive) by overriding the behaviour of “cp” and “gau-cpp” such that they don’t cause problems when used by Gaussian’s build scripts on non case-sensitive file systems.
gXXforrtran is available on GitHub In theory, it should work for a standard Linux or Mac system.
However, as they don’t have access to the Gaussian source code they can't check it. Anyone out there care to try it?
I’m not a Fortran user but overtime I mention it there is a sharp uptick in page views so there are obviously a significant number of users who might be interested in this workshop.
Date: 24 - 25 August 2016. Time: 09:30 - 17:30. Location: Learning Resource and Development Centre (Library), E building, Culham Centre for Fusion Energy, Culham Science Centre, Abingdon, OX14 3DB
TOPICS WILL INCLUDE:
- Software engineering for computational science;
- Modern Fortran standards and how to write optimized and efficient Fortran;
- NetCDF and HDF5 scientific file formats for data sharing in Fortran;
- GNU Automake to automate the build process;
- pFUnit unit testing framework for testing Fortran codes;
- Doxygen for Fortran code documentation;
- Git version control for collaborative code development;
- In-memory visualisation using PLplot in Fortran;
- IEEE Floating Point Exception Handling
- Software verification and portability using the NAG Fortran compiler
- Fortran interoperability with C, Python and R;
- Introduction to parallelism for Fortran.
There is a page of Fortran Resources here.
Any posts on Fortran always seem to attract attention so I thought I'd flag this opportunity.
Larry Zottarelli, the last original Voyager engineer still on the project, is retiring after a long and storied history at JPL. While there are still a few hands around who worked on the original project, now the job of keeping this now-interstellar spacecraft going will fall to someone else. And that someone needs to have some very specific skills …Know Cobol? Can you breeze through Fortran? Remember your Algol
More details here
First let me say I’m not a big Fortran user but any blog posts about Fortran always seem to be very popular, and I do get asked regularly about how to compile Fortran applications. So when I saw that the NNSA, national labs team with Nvidia to develop open-source Fortran compiler technology to integrate into LLVM I thought I'd mention it.
LLVM is a collection of reusable compiler and tool chain technologies with a modular design that facilitates support for a wide variety of programming languages and processor architectures.The Fortran front-end module created through this project will be derived from NVIDIA’s PGI Fortran compiler, which has been used in production across a variety of high performance computing systems for more than 25 years. PGI® software is a leading supplier of software compilers and tools for parallel computing.
I've compiled a list of Fortran resources for the Mac here.
Fortran has a long history with scientific programming and so it is perhaps not surprising that overtime I mention Fortran there is an uptick in readers. FTranProjectBuilder is the only IDE specifically designed for Fortran programming on the Mac and has recently been updated to version 2.0.
This update brings improvements to the interface, context sensitive autocompletes, and in addition derived type, Intrinsic procedure, module and procedure popovers
In addition the Nocturnal Aviation Software has been updated with screenshots of the updated FTranProjectBuilder, Mac Fortran Blog and a section of free Fortran code snippets.
A while back I compiled a list of resources for Fortran on a Mac.
Last month I compiled a page of Fortran resources for the Mac. At the time I was hoping it would be a useful resource but thought it would draw a limited audience. In fact it turned out to very popular, the page has been accessed nearly 1000 times with readers spending between 3 and 4 minutes on the page. I've also been contacted by a couple of fortran developers who have suggested additional resources and tips for compiling.
Chargemol program performs atomic population analysis to determine DDEC net atomic charges, atomic spin moments, and effective bond orders. Because the DDEC net atomic charges are simultaneously optimized to reproduce atomic chemical states and the electrostatic potential surrounding a material, they are well-suited for constructing force-fields used in atomistic simulations (e.g., classical molecular dynamics or monte carlo simulations) and for quantifying electron transfer between atoms in complex materials and during chemical reactions
The DDEC method is described in the following publication and references therein.
Thomas A. Manz and David S. Sholl, "Improved Atoms-in-Molecule Charge Partitioning Functional for Simultaneously Reproducing the Electrostatic Potential and Chemical States in Periodic and Non-Periodic Materials", J. Chem. Theory Comput., Vol. 8 (2012) 2844-2867. DOI
The program can be run using either Matlab or Fortran source codes, which yield identical numbers. The Fortran code is parallelized with OpenMP and runs much faster than the Matlab code.
First let me say I’m not a big Fortran user but any blog posts about Fortran always seem to be very popular, and I do get asked regularly about how to compile Fortran applications. So I’ve put together a page summarising all the resources that I’m aware of, together with some installation instructions.
If you know of anything I’ve missed feel free to email me or add them to the comments.
Whenever I post anything about Fortran there is a noticeable uptick to page views so I thought I’d post a link to this review on Ars Technica
Scientific computing’s future: Can any coding language top a 1950s behemoth?. This is a very interesting review and discussion on scientific programming and it is no surprise that for the more computationally intensive number crunching applications Fortran still rules.
“I don't know what the language of the year 2000 will look like, but I know it will be called Fortran.” —Tony Hoare, winner of the 1980 Turing Award, in 1982.
I’ve just been told that the Absoft Pro Fortran 2014 v14 Compiler Suite For Mac OS X is available.
Pro Fortran 2014 v14 - A few of the new features for this release are: AWE-Chart, AWE-Plot, AWE-Form & Enhanced AVX Instruction set performance. Pro Fortran 2014 builds faster code with Absoft's Exclusive Dynamic AP Load Balancing Technology, OpenMP 3.0 support, SMP Analyzer, Tools Plug-in, New HPC Scientific & Engineering Math Library and more.
The Absoft IDE is the only commercial Fortran/C++ development environment designed by Fortran experts. It includes: programmer's editor, Absoft's SMP and Vector analyzer, Fx3 graphical debugger, SMP and MPI control features, optimized math libraries and 2D/3D graphics.
I know that Fortran is still very important in scientific computing so this may be of interest.
CLFORTRAN is an open source (LGPL) Fortran module, designed to provide direct access to GPU, CPU and accelerator based computing resources available by the OpenCL standard.
Added to the GPU Science page.
I’ve just updated the listing of Scientific Applications under Mavericks and I thought I’d highlight one application. The page I have on Tools for Fortran Programmers is consistently one of the top accessed Blog entries. I’m sure one of the reasons for this popularity is FTranProjectBuilder the only Mac-native Fortran development environment (IDE) it works with the gfortran, g95, ifort, Absoft Pro Fortran, NAG nagfor and PGI pgfortran compilers. Since I mentioned it last FTranProjectbuilder has been updated six more times, in April, May, July, August and October with new features like the ability to build static libraries, trackpad interaction and compiler errors now being marked in the source code. Full details are in the project notes on the Nocturnal Aviation Software website , and yes, all of the tools, including FTranProjectbuilder are compatible with 10.6.8+, and run fine on 10.9 Mavericks.
Fortran still has a significant user base in the scientific community where the speed, portability, array handling and access to shared memory make it a very powerful option.
There is a nice comparison of programming languages from the viewpoint of scientists here
I’m not a Fortran programmer so I’ve perhaps not as close an eye on this as other areas, however looking at the Fortran IDE FTranProjectBuilder release notes it seems there have been 17 updates in the last 12 months. FTranProjectBuilder is now up to version 1.15 with new features being added at a steady rate. Of note for scientists FTranProjectBuilder has support for two of the most common parallel processing libraries. If your program is coded for MPI using OpenMPI or OpenMP and you have them installed, you can use FTranProjectBuilder to run on multiple processors.
These sites might also be useful