{"id":32177496,"url":"https://github.com/dftbplus/scalapackfx","last_synced_at":"2026-02-22T10:37:01.840Z","repository":{"id":21647285,"uuid":"93422588","full_name":"dftbplus/scalapackfx","owner":"dftbplus","description":"Modern Fortran wrappers around ScaLAPACK routines","archived":false,"fork":false,"pushed_at":"2025-05-25T19:12:54.000Z","size":314,"stargazers_count":18,"open_issues_count":5,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-25T20:25:06.113Z","etag":null,"topics":["fortran","scalapack","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}},"created_at":"2017-06-05T16:10:10.000Z","updated_at":"2025-05-25T19:12:59.000Z","dependencies_parsed_at":"2024-04-01T12:44:29.889Z","dependency_job_id":"6c4a3661-8d0c-4c04-99a4-d8b74856df0f","html_url":"https://github.com/dftbplus/scalapackfx","commit_stats":{"total_commits":104,"total_committers":6,"mean_commits":"17.333333333333332","dds":0.6538461538461539,"last_synced_commit":"ff38e221e0819aa89a2a081ed1d21fbef2baf093"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/dftbplus/scalapackfx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fscalapackfx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fscalapackfx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fscalapackfx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fscalapackfx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dftbplus","download_url":"https://codeload.github.com/dftbplus/scalapackfx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dftbplus%2Fscalapackfx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280325338,"owners_count":26311426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","scalapack","wrappers"],"created_at":"2025-10-21T20:08:43.413Z","updated_at":"2025-10-21T20:08:47.211Z","avatar_url":"https://github.com/dftbplus.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"****************************************************\nScalapackFx - Modern Fortran Interface for ScaLAPACK\n****************************************************\n\nThe open source library `ScalapackFx \u003chttps://github.com/dftbplus/scalapackfx\u003e`_\nprovides convenient modern Fortran (Fortran 2003) wrappers for the routines of\nthe ScaLAPACK library. Currently mostly the routines related to diagonalization\nare 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\nPrerequisites\n-------------\n\n* CMake (version \u003e= 3.16)\n\n* Fortran 2003 compatible Fortran compiler\n\n* MPI-library and wrappers for your compiler\n\n* ScaLAPACK and LAPACK libraries\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/scalapackfx\n  cmake --build _build\n  cmake --install _build\n\nYou can influence the configuration via CMake-variables. A list of those\nvariables can be found in `config.cmake \u003cconfig.cmake\u003e`_. You can either modify\nthe values directly there or pass them as command line option at the\nconfiguration phase, e.g.::\n\n  FC=ifort cmake -B _build \\\n    -DSCALAPACK_LIBRARY=mkl_scalapack_lp64;mkl_blacs_intelmpi_lp64 \\\n    -DLAPACK_LIBRARY=mkl_intel_lp64;mkl_sequential;mkl_core\n\nWhen customizing the external libraries as above, each of them will be searched\nfor and checked for existence. You can disable these checks by setting the\n``SCALAPACK_DETECTION`` and ``LAPACK_DETECTION`` variables to ``False`` (not\nrecommended).\n\n\nTesting\n-------\n\nA few tests (and usage examples) can be found in the `test/` subdirectory. The\ncompiled test examples must be invoked from this directory, e.g.::\n\n  cd test\n  mpirun -n 2 ../_build/test/test_det\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  ``ScalapackFx::ScalapackFx`` to every target which relies directly on the\n  library ::\n\n    cmake_minimum_required(VERSION 3.16)\n\n    project(TestScalapackFxBuild LANGUAGES Fortran)\n\n    find_package(ScalapackFx REQUIRED)\n\n    add_executable(test_build test_build.f90)\n    target_link_libraries(test_build ScalapackFx::ScalapackFx)\n\nNote: When ScalapackFx is found by CMake, it will try to resolve its own\ndependencies (ScaLAPACK and LAPACK) via the ``find_dependency()`` function. You\ncan use your own finders for those dependencies as long as they export the\ntargets ``Scalapack::Scalapack`` and ``LAPACK::LAPACK`` with the proper\nconfiguration as ScalapackFx uses those as link targets through the\n``target_link_libraries()`` function. If those targets do not exists when\nScalapackFx is being searched for, the custom finders shipped with ScalapackFx\nwill be invoked to search for the necessary libraries.\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_mpifxbuild.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\nScalapackFx is licensed under the `BSD-2-Clause License \u003cLICENSE\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdftbplus%2Fscalapackfx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdftbplus%2Fscalapackfx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdftbplus%2Fscalapackfx/lists"}