FTorch¶
FTorch is a library for coupling PyTorch models to Fortran. This is done by interfacing Fortran with the libtorch C++ backend underlying PyTorch, via the iso_c_binding module, which has been intrinsic to Fortran since the 2003 standard. It’s an interesting project to work on, as it involves working with code in Python, C, C++, and Fortran, amongst other languages, software frameworks, and tools used for testing, linting, scripting, and documentation.
I have been a core developer of FTorch since joining the Institute of Computing for Climate Science (ICCS).
Major contributions¶
Exposition of PyTorch’s autograd module in FTorch to enable automatic differentiation of mathematical expressions involving Torch Tensors.
Setting up and writing unit tests using the pFUnit unit test framework.
Enabling running on multiple GPU devices.
Outputs¶
FTorch software description paper: [1].