Skip to content

ForMatmul - A Fortran library that overloads the matmul function to enable efficient matrix multiplication with/without coarray.

License

Notifications You must be signed in to change notification settings

gha3mi/formatmul

Repository files navigation

GitHub Version Documentation License Build

ForMatmul

ForMatmul: A Fortran library that overloads the matmul function to enable efficient matrix multiplication with/without coarray.

Usage

use formatmul

c = matmul(a,b, option='m1', transA=.true., transB=.true., coarray=.true.)

fpm dependency

If you want to use ForMatmul as a dependency in your own fpm project, you can easily include it by adding the following line to your fpm.toml file:

[dependencies]
formatmul = {git="https://github.com/gha3mi/formatmul.git"}

How to run tests

Clone the repository:

You can clone the ForMatmul repository from GitHub using the following command:

git clone https://github.com/gha3mi/formatmul.git
cd formatmul

Tested with Intel compiler: ifort (IFORT) 2021.10.0 20230609

fpm @ifort-test
fpm @ifort-test-coarray

Tested with Intel compiler: ifx (IFX) 2023.2.0 20230622

fpm @ifx-test
fpm @ifx-test-coarray

Tested with NVIDIA compiler: nvfortran 23.11-0 64-bit target on x86-64 Linux

fpm @nvfortran-test

Benchmarks

You can find benchmark results on ForBenchmark.

API documentation

The most up-to-date API documentation for the master branch is available here. To generate the API documentation for ForMatmul using ford run the following command:

ford ford.yml

Contributing

Contributions to ForMatmul are welcome! If you find any issues or would like to suggest improvements, please open an issue.

About

ForMatmul - A Fortran library that overloads the matmul function to enable efficient matrix multiplication with/without coarray.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published