{"slug": "lfortran-runs-fiats-and-formal-on-gpus", "title": "LFortran runs Fiats and Formal on GPUs!", "summary": "LFortran 0.68.0 became the first compiler to support automatic GPU execution for Berkeley Lab's Fiats deep learning library and Formal partial differential equation solver framework, the LFortran project reported. The compiler optionally translates `do concurrent` loops to Apple Metal, NVIDIA CUDA, AMD HIP, or OpenMP for CPU multithreading, letting users switch GPUs or move to CPU multithreading by changing compiler flags. All Fiats and Formal unit tests pass on GPUs, and future work will address GPU-based acceleration.", "body_md": "Although Fortran compilers from NVIDIA, Intel, HPE, LLVM, and LFortran all offer automatic execution of `do concurrent` on GPUs, LFortran 0.68.0 is the first compiler to support automatic GPU execution for Berkeley Lab’s [Fiats](https://go.lbl.gov/fiats) deep learning library and [Formal](https://go.lbl.gov/formal) partial differential equation solver framework.  The significance of this milestone stems from both projects embracing do concurrent as the primary mechanism for leveraging GPUs and because of the interactions between this approach and object-oriented programming and functional programming patterns.   Work continues on achieving this new milestone with other compilers.\n\nA frequently cited reason for several prominent translations from Fortran to C++ has been to take advantage of performance portability layers such as Kokkos.  One goal of the Fiats and Formal projects is to demonstrate that a modern Fortran compiler can be the performance portability layer.  To wit, LFortran optionally translates `do concurrent` to the GPU APIs from Apple (Metal), NVIDIA (CUDA), or AMD (HIP) as well as to OpenMP for multithreading on CPUs.  Thus, by simply switching compiler flags, one can switch GPUs or switch to multithreading on CPUs.\n\nTo date, our collaboration with LFortran has focused on correctness: all Fiats and Formal unit tests pass when running on GPUs. Future work will address GPU-based acceleration.", "url": "https://wpnews.pro/news/lfortran-runs-fiats-and-formal-on-gpus", "canonical_source": "https://fortran-lang.discourse.group/t/lfortran-runs-fiats-and-formal-on-gpus/11275#post_1", "published_at": "2026-11-04 01:24:58+00:00", "updated_at": "2026-11-04 01:51:01.977370+00:00", "lang": "en", "topics": ["artificial-intelligence", "machine-learning", "developer-tools", "ai-infrastructure"], "entities": ["LFortran", "Fiats", "Formal", "Berkeley Lab", "NVIDIA", "Intel", "HPE", "Apple"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/lfortran-runs-fiats-and-formal-on-gpus", "markdown": "https://wpnews.pro/news/lfortran-runs-fiats-and-formal-on-gpus.md", "text": "https://wpnews.pro/news/lfortran-runs-fiats-and-formal-on-gpus.txt", "jsonld": "https://wpnews.pro/news/lfortran-runs-fiats-and-formal-on-gpus.jsonld"}}