Questions tagged [scalapack]

ScaLAPACK is a library of high-performance linear algebra routines for parallel distributed memory machines. ScaLAPACK solves dense and banded linear systems, least squares problems, eigenvalue problems, and singular value problems.

The goals of the ScaLAPACK project are the same than the one’s of LAPACK, namely:

efficiency (to run as fast as possible),

scalability (as the problem size and number of processors grow),

reliability (including error bounds),

portability (across all important parallel machines),

flexibility (so users can construct new routines from well-designed parts),

and ease of use (by making the interface to LAPACK and ScaLAPACK look as similar as possible).

62 questions
1
vote
1 answer

Getting a Segmentation Fault when using mpi and lapack in C

I'm trying to preform matrix multiplication using Blac's pdgemm. The exact subroutine for the matrix multiplication that I am using can be found here: http://www.netlib.org/scalapack/html/pblas_qref.html#PvGEMM However my code returns "cannot…
Bob gilong
  • 215
  • 2
  • 8
  • 17
1
vote
1 answer

Calling ScaLAPACK from C++

Hi can any one provide me an example Makefile for calling ScaLAPACK from C++, I am having difficulties. I have the newest version compiled correctly with all the tests passed. I have it compiled with GCC and OpenMPI on Fedora, and I have also tried…
pyCthon
  • 11,746
  • 20
  • 73
  • 135
0
votes
1 answer

what's DESCINIT's leading dimension

I am confusing about DESCINIT's lld parameter. I set a subrows(int(full_data_dims_b(1), kind = 4), m_b, nprow) subrows as defined integer function subrows(global_rows, block_rows, row_procs) integer global_rows, block_rows, row_procs subrows…
0
votes
1 answer

Use of MPI::MPI_C alias

I am building ScaLAPACK (commit 7e4e07070a489686287c36ab473d21cf29a54bdd) using CMake (version 3.20.1). The find_package utility is used in CMakeLists.txt to define the libraries, inclusion directories, and flags required to compile with MPI. The…
gkaf
  • 80
  • 6
0
votes
0 answers

ScaLAPACK in C++ - pdlaprnt() - Operating system error: Cannot allocate memory

I'm trying to write a program in C++, using ScaLAPACK directly. In that way, I'm calling its functions through extern "C" block and it's working, until I came around PDLAPRNT() function, i.e. a printing of double arrays. When I'm trying to run it to…
Eenoku
  • 2,741
  • 4
  • 32
  • 64
0
votes
0 answers

Making ScaLAPACK - Error in blacstest.f: undefined reference to `dwalltime00_'

I'm having a hard time trying to set up ScaLAPACK. I cannot find any similar error anywhere. I have downloaded scalapack 2.2.0 from their website, I have set up the SLmake.inc and typed make in my terminal. I paste here the error I get mpif90…
0
votes
1 answer

netlib scalapack example1.f - execution problems

I'm trying to compile, link and run netlib's scalapack example1.f program. code for example1.f The code compiles and link OK, but when executed it shows instabilities in the results. Sometimes the residual is very low. Other times it is around…
Lambda
  • 1
  • 3
0
votes
1 answer

Overwriting PILAENV

Unfortunately, Intel for some reason decided to set the return value of PILAENV (the recommended block size) for their ScaLAPACK implementation to 512. This value gives less than ideal performance (on Intel's own CPUs!) and I am confused why they…
Jakob Filser
  • 131
  • 9
0
votes
1 answer

How to link library scalapack and blacs while compilation

When compiling a fortran code, I set FCL = mpiifort -qmkl=sequential LLIBS += -L$(MKLROOT)/lib/intel64 -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 but when compiling code, it always links to libmkl_scalapack_lp64.so, not…
Binh Thien
  • 363
  • 2
  • 13
0
votes
0 answers

When to switch from lapack to scalack?

I have a general question about scalapack and system resolution. I am using DGESV (Fortran) on a dense matrix. From what size would it make sense to switch to Scalapack? From 10 000 X 10 000 ? 100 000 to 100 000? Is there a general answer to that or…
Laetis
  • 1,337
  • 3
  • 16
  • 28
0
votes
1 answer

What is the blocking factor used to distribute the array?

In the documentation for example of descinit we find the following attributes in the descriptor of a distributed array (arguments 4 and 5): * MB (global input) INTEGER * The blocking factor used to distribute the rows of the * …
Matthias Beaupère
  • 1,731
  • 2
  • 17
  • 44
0
votes
1 answer

Algorithm to balance a set of differently sized matrix blocks between processes

I want to balance a set of matrix blocks between processes. The matrix blocks have different sizes, although typically one single block dominates, being of similar size or even larger than all the other blocks combined. The number of processes may…
Jakob Filser
  • 131
  • 9
0
votes
1 answer

Efficient way to find norm of distributed vector in SCALAPACK

consider the following piece of code using scalapack: ! if (norm2(h-x0) < tol) then tmp_vec = h - x0 call pdnrm2(N,norm,tmp_vec,1,1,descvec,1) if (norm < tol) then x=h converged = .true. …
ipcamit
  • 330
  • 3
  • 16
0
votes
1 answer

Inconsistent rows allocation in scalapack

Consider the following simple fortran program program test_vec_allocation use mpi implicit none integer(kind=8) :: N ! =========================BLACS and MPI======================= integer :: ierr,…
ipcamit
  • 330
  • 3
  • 16
0
votes
1 answer

Niether 'MPI_Barrier' nor 'BLACS_Barrier' doesn't stop a processors executing its commands

I'm working on ScaLAPACK and trying to get used to BLACS routines which is essential using ScaLAPACK. I've had some elementary course on MPI, so have some rough idea of MPI_COMM_WORLD stuff, but has no deep understanding on how it works internally…
Sangjun Lee
  • 406
  • 2
  • 12