{"id":32178443,"url":"https://github.com/dftbplus/mpifx","last_synced_at":"2026-02-24T04:02:19.261Z","repository":{"id":21625012,"uuid":"93404238","full_name":"dftbplus/mpifx","owner":"dftbplus","description":"Modern Fortran wrappers around MPI routines","archived":false,"fork":false,"pushed_at":"2025-12-17T13:51:19.000Z","size":307,"stargazers_count":35,"open_issues_count":10,"forks_count":13,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-12-21T02:12:44.384Z","etag":null,"topics":["fortran","mpi","wrappers"],"latest_commit_sha":null,"homepage":null,"language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dftbplus.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-06-05T13:00:51.000Z","updated_at":"2025-12-03T22:17:58.000Z","dependencies_parsed_at":"2024-04-08T15:32:15.820Z","dependency_job_id":"41fc78b6-845a-4a9b-a79d-08997c6d122d","html_url":"https://github.com/dftbplus/mpifx","commit_stats":{"total_commits":107,"total_committers":9,"mean_commits":11.88888888888889,"dds":0.6448598130841121,"last_synced_commit":"9d3b1de40c59380c03deb27972d432551e57aa4b"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/dftbplus/mpifx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fmpifx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fmpifx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fmpifx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fmpifx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dftbplus","download_url":"https://codeload.github.com/dftbplus/mpifx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fmpifx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29771041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T04:01:02.180Z","status":"ssl_error","status_checked_at":"2026-02-24T03:59:49.901Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fortran","mpi","wrappers"],"created_at":"2025-10-21T20:55:52.718Z","updated_at":"2026-02-24T04:02:19.247Z","avatar_url":"https://github.com/dftbplus.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"****************************************\nMpiFx - Modern Fortran Interface for MPI\n****************************************\n\nThe open source library `MpiFx \u003chttps://github.com/dftbplus/mpifx\u003e`_ provides\nmodern Fortran (Fortran 2008) wrappers around routines of the MPI library to\nmake their use as simple as possible. Currently several data distribution\nroutines are covered.\n\nThe documentation is included inside the repository, but is also available at\n`dftbplus.github.io \u003chttps://dftbplus.github.io/\u003e`_.\n\n\nInstallation\n============\n\nThe preferred way of obtaining MpiFx is to install it via the Conda package\nmanagement framework using `Miniconda\n\u003chttps://docs.conda.io/en/latest/miniconda.html\u003e`_ or `Anaconda\n\u003chttps://www.anaconda.com/products/individual\u003e`_. Make sure to add/enable the\n``conda-forge`` channel in order to be able to access MpiFx, and ensure that the\n``conda-forge`` channel is the first repository to be searched for packages.\n\nWe provide both, OpenMPI and MPICH based build variants, choose the one suiting\nyour needs. For example, issue ::\n\n  conda install 'mpifx=*=mpi_mpich_*'\n\nor ::\n\n  conda install 'mpifx=*=mpi_openmpi_*'\n\nto get the last stable release of MpiFx for the respective MPI framework.\n\n\nBuilding from source\n====================\n\nPrerequisites\n-------------\n\n* CMake (version \u003e= 3.16)\n\n* Fortran 2008 compatible Fortran compiler\n\n* MPI-library and wrappers for your compiler supporting the `mpi_f08` interface\n\n* `Fypp preprocessor \u003chttps://github.com/aradi/fypp\u003e`_\n\n\nBuilding and installing the library\n-----------------------------------\n\nThe library can be built and installed with the usual CMake-workflow::\n\n  FC=gfortran cmake -B _build -DCMAKE_INSTALL_PREFIX=$HOME/opt/mpifx\n  cmake --build _build\n  cmake --install _build\n\nYou can influence the configuration via CMake-variables, which are listed in\n`config.cmake \u003cconfig.cmake\u003e`_. You can either modify the values directly there\nor pass them as command line options at the configuration phase, e.g.::\n\n  FC=ifort cmake -B _build -DBUILD_TESTING=NO .\n\n\nTesting\n-------\n\nA few tests / usage examples can be found in the `test/` subdirectory,\na sub-set of which can be checked with ctest. The compiled test\nprograms will be in the `test/` subfolder of your build directory.\n\nTo disable building tests, include the cmake option -DBUILD_TESTING=OFF\n\n\nUsing the library\n=================\n\nCMake build\n-----------\n\n* Make sure to add the root folder of the installed library to the\n  ``CMAKE_PREFIX_PATH`` environment variable.\n\n* Use ``find_package()`` in `CMakeLists.txt` to locate the library and link\n  ``MpiFx::MpiFx`` to every target which relies directly on the library ::\n\n    cmake_minimum_required(VERSION 3.16)\n\n    project(TestMpiFx LANGUAGES Fortran)\n\n    find_package(MpiFx REQUIRED)\n\n    add_executable(test_mpifx test_mpifx.f90)\n    target_link_libraries(test_mpifx MpiFx::MpiFx)\n\n\nPkg-config build\n----------------\n\n* Make sure to add the `lib/pkgconfig` folder of the installed library to the\n  ``PKG_CONFIG_PATH`` environment variable.\n\n* Query the include and library options needed for the build with the usual\n  ``pkg-config`` commands::\n\n    mpifort $(pkg-config --cflags mpifx) test_mpifx.f90 $(pkg-config --libs mpifx)\n\n  Note, that neither ``-cflags`` or ``--libs`` return any options related to\n  your MPI-framework nor is the MPI-framework specified as dependency in the\n  pkg-config file. Use the MPI-wrapper of your compiler to compile and link your\n  executable or pass the additional include and library options by hand.\n\n\nLicense\n=======\n\nMpiFx is licensed under the `2-Clause BSD License \u003cLICENSE\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdftbplus%2Fmpifx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdftbplus%2Fmpifx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdftbplus%2Fmpifx/lists"}