Giter Site home page Giter Site logo

scalapack's Introduction

Netlib Scalapack

Actions Status

Scalapack with CMake enhancements to make Scalapack easier to use directly in other projects. The Scalapack source code is unmodified. MPI is required for Scalapack. Scalapack 2.1 works with OpenMPI 4.x, while Scalapack 2.0 worked with OpenMPI < 4.

Prereq

  • Linux: apt install cmake gfortran libopenmpi-dev liblapack-dev
  • Mac: brew install gcc cmake open-mpi lapack

Windows MSYS2

pacman -S mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-msmpi mingw-w64-x86_64-lapack

and install Microsoft MS-MPI to get mpiexec.exe

Build

cmake -B build
cmake --build build

# optional self-tests
ctest --test-dir build

To avoid searching for Lapack (forcing Lapack to be built) use CMake option:

cmake -B build -Dfind_lapack=off

options

The default is to build real32, real64. The options for precision are just like LAPACK:

option(BUILD_SINGLE "Build single precision real" ON)
option(BUILD_DOUBLE "Build double precision real" ON)
option(BUILD_COMPLEX "Build single precision complex")
option(BUILD_COMPLEX16 "Build double precision complex")

Notes

Scalapack is included with Intel oneAPI, for Windows as well.

scalapack's People

Contributors

scivision avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

scalapack's Issues

Building ScaLAPACK with meson for Intel compilers?

Hi All,

I have tried to build the package, for version 2.0, using old Intel 2015 compilers and OpenMPI 3.1.4. (I know that MKL does have BLACS and ScaLAPACK but the former is too old in MKL of 2015 and does not work with current OpenMPI versions).

I have tried the following :

F77=ifort FC=ifort CC=icc CXX=icpc FFLAGS="-O2 -msse4.2 -mkl=sequential" CFLAGS="-O2 -msse4.2 -mkl=sequential" meson setup build --prefix=/global/software/cent7/scalapack-2.0.2.-intel15

And got the following error:

The Meson build system
Version: 0.53.2
Source dir: /scalapack/scalapack-2.0.2.1
Build dir: /scalapack/scalapack-2.0.2.1/build
Build type: native build
Project name: SCALAPACK
Project version: 2.0.2
Appending FFLAGS from environment: '-O2 -msse4.2 -mkl=sequential'
Appending CFLAGS from environment: '-O2 -msse4.2 -mkl=sequential'
Appending FFLAGS from environment: '-O2 -msse4.2 -mkl=sequential'
Fortran compiler for the host machine: ifort (intel 15.0.4 "ifort (IFORT) 15.0.4 20150805")
Fortran linker for the host machine: ifort ld.bfd 2.27-34
Appending CFLAGS from environment: '-O2 -msse4.2 -mkl=sequential'
C compiler for the host machine: icc (intel 15.0.4 "icc (ICC) 15.0.4 20150805")
C linker for the host machine: icc ld.bfd 2.27-34
Host machine cpu family: x86_64
Host machine cpu: x86_64
Message: SCALAPACK arith: sd
Compiler for Fortran supports arguments -w: YES
First supported argument: -w
Compiler for C supports arguments -w: YES
First supported argument: -w
Program mpiexec found: YES (/openmpi/bin/mpiexec)
Appending FFLAGS from environment: '-O2 -msse4.2 -mkl=sequential'
Run-time dependency MPI for fortran found: YES 3.1.4
Checking if "Fortran MPI" with dependency mpi links: YES
Appending CFLAGS from environment: '-O2 -msse4.2 -mkl=sequential'
Run-time dependency MPI for c found: YES 3.1.4
Checking if "C MPI" with dependency mpi links: YES
Found pkg-config: /usr/bin/pkg-config (0.27.1)
Found CMake: /bin/cmake (3.14.0)
Run-time dependency blas found: NO (tried pkgconfig and cmake)

|Executing subproject lapack method meson
|
|Project name: LAPACK
|Project version: 3.9.0
|Fortran compiler for the host machine: ifort (intel 15.0.4 "ifort (IFORT) 15.0.4 20150805")
|Fortran linker for the host machine: ifort ld.bfd 2.27-34
|C compiler for the host machine: icc (intel 15.0.4 "icc (ICC) 15.0.4 20150805")
|C linker for the host machine: icc ld.bfd 2.27-34
|subprojects/lapack/meson.build:7: WARNING: Option 'arith' of type 'array' in subproject 'lapack' cannot yield to parent option of type 'string', ignoring parent value. Use -Dlapack:arith=value to set the value for this option manually.
|Compiler for Fortran supports arguments -w: YES (cached)
|First supported argument: -w
|Checking if "F2008 norm2" links: YES
|Build targets in project: 9
|Subproject lapack finished.


TOOLS/LAPACK/meson.build:27:0: ERROR: Tried to use a build target as a dependency.
You probably should put it in link_with instead.

Could you please advise whether it is possible to work around the issue? Thanks!

Grigory Shamov,
University of Manitoba

CI not finding 'example' tests after installation

I'm currently using a fork of this repository; whilst debugging a couple of issues with the CI, I found some things worth flagging up:

  1. I compared the Actions that were run in my fork against your repository and found that your CI does not find any tests to run after configuring/building the examples/ folder, and;
  2. The number of procs required by these examples (i.e. 4 or 6) is greater than the number available on the GitHub runners. It may be worth simplifying the examples to use 2 procs maximum.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.