Tagged Questions

Basic Linear Algebra Subprograms - A standard API library with vector-vector, matrix-vector, and matrix-matrix operations.

learn more… | top users | synonyms

1
vote
1answer
34 views

BLAS/LAPACK Non absolute sum

I need to know if there is some function in BLAS/LAPACK or some other Scientific Library that returns a non absolute sum of a vector/matrix. I've found the 'asum', but it returns only the absolute ...
0
votes
2answers
64 views

Impact of frequent row major / column major conversions using LAPACK/BLAS?

If you call a library like LAPACK or BLAS (which are written in FORTRAN and use column major order) from a C-like language that uses row major order, won't you lose performance and use a lot of memory ...
3
votes
1answer
92 views

How does matrix-matrix product scale with multiple CPUs?

These days, one can have 64 cores in a single node. I wonder how well the dense matrix-matrix product (SGEMM and DGEMM) scales ...
3
votes
3answers
328 views

Fast vector - “diagonal” matrix multiplication

Let $\mathbf{1}\in\mathbb{R}^d$ be a vector with all elements equal to $1$. Define: $$\mathbf{D} = \mathrm{diag}(\mathbf{1}^\top,\mathbf{1}^\top,\ldots,\mathbf{1}^\top) = \begin{bmatrix} 1 \cdots 1 ...
1
vote
2answers
93 views

Do vendors release their own LAPACK library?

Every CPU vendor seems to make BLAS libraries that are specialized to run on their hardware. Do they do the same for LAPACK? Or is that a non-issue because LAPACK is written entirely in terms of BLAS ...
4
votes
1answer
267 views

What is the best way to multiply a diagonal matrix (in fortran)

What is the best way to compute: $$ Y = D X $$ where $D \in \mathbb{R}^{m\times m}$ is diagonal and $X \in \mathbb{C}^{m \times n}$ is general. I am mostly interested in these two cases: $m ...
3
votes
2answers
107 views

How gracefully does scalapack/pblas revert to lapack/blas in serial

If I use scalapack and pblas, and the code is run in serial (1x1 blacs process grid), how well does scalapack and pblas revert to the performance of lapack/blas? I am particularly interested in the ...
2
votes
2answers
235 views

How Do I solve large systems given UMFPACK memory limitations?

I am trying to solve a system of equations (A x = b) for 3D heat diffusion (i.e. each equation has at most 7 terms not including the constant "b" term) using UMFPACK with boost numeric bindings to ...
9
votes
5answers
276 views

Is there a reference-level implementation of BLAS in C/C++?

The netlib BLAS implementation is an excellent reference, being mostly un-optimized and well documented (e.g. zgemm). However, it is in Fortran 77, making it somewhat inaccessible to those with a ...
3
votes
3answers
369 views

How to tell which (sequential or parallel) version of Intel MKL is linked?

Recently I am using Umfpack with Intel MKL BLAS. To link the library to a program one has to link mkl_rt.lib / mkl_rt.so. However there is no word which version: sequential or parallel of library is ...
14
votes
3answers
577 views

What is the relationship of BLAS, LAPACK, and other linear algebra libraries?

I have been looking into C++ linear algebra libraries for a project I've been working on. Something that I still don't have any grasp on is the connection of BLAS and LAPACK to other linear algebra ...
3
votes
3answers
342 views

Performance optimization or tuning possible for Scalapack Gemm?

I'm comparing the performance of distributed gemm, using Scalapack over OpenBLAS, with threaded gemm, using OpenBLAS. It seems quite hard for me to get scalapack to give better results than ...
2
votes
2answers
241 views

How to make Elemental Gemm run quickly?

How to make Elemental Gemm run quickly? I have the following code: ...
1
vote
1answer
89 views

Does scalapack need threaded or unthreaded blas?

I'm compiling a blas to use with scalapack. Some blases, such as openblas, are naturally multithreaded, but scalapack uses mpi, so maybe needs a single-threaded blas? My questions then are: does ...
4
votes
1answer
61 views

How to do transpose for trtrs (or tptrs) in blas?

How to do transpose for trtrs (or tptrs) in blas? I want to solve: XA = B But it seems that trtrs only lets me solve: ...
5
votes
1answer
195 views

Reference BLAS/LAPACK from NETLIB is twice as fast as MKL for complex numbers

I'm solving the Helmholtz equation using PETSc. I found with the PETSc configure option --download-f-blas-lapack my program runs twice as fast over running it with ...
2
votes
1answer
354 views

Intel MKL - Difference between mkl_intel_lp64 and mkl_gf_lp64

I am currently trying to link a program against the Intel MKL 11.0 library instead of using NetLIB or OpenBLAS. Doing this I recognized the following error which I can not explain to my self at the ...
5
votes
1answer
1k views

Threaded OpenBlas benchmark slower than system blas?

I'm not sure if I did something wrong or if I just didn't understand the concept of an optimized BLAS. I'm a FEM engineer trying to optimize my setup on a small cluster computer (six nodes). I'm ...
1
vote
1answer
107 views

Understanding Inner blocking size in lapack/plasma

I could not get accurate description that aids to my understanding of inner blocking size parameter that is used in many LAPACK routines(such as DGEQRT, DLARFB). Thanks
5
votes
1answer
506 views

Magma vs. Plasma

I'm having a difficult time understanding the difference between the linear algebra packages MAGMA and PLASMA from just a quick glance. It looks like MAGMA is oriented towards GPU's and vector ...
10
votes
2answers
701 views

What are the fastest available implementations of BLAS/LAPACK or other linear algebra routines on GPU systems?

nVidia, for example, has CUBLAS, which promises 7-14x speedup. Naively, this is nowhere near the theoretical throughput of any of nVidia's GPU cards. What are the challenges in speeding up linear ...
3
votes
2answers
133 views

Efficiently changing basis on many diagonal matrices

I have to perform a [complex] basis transformation on a large number of [real] diagonal matrices: $$ \langle b_i | A | b_j \rangle = \sum_k \langle b_i | \bar{b}_k\rangle \langle\bar{b}_k | A | ...
8
votes
1answer
121 views

Sudden drops in matrix multiplication performance

I've been reading about implementing dense matrix multiplication when the matrix doesn't fit in cache. One of the graphs I've seen (slide 9 from these slides) shows sudden drops in performance using ...
-1
votes
2answers
889 views

BLAS/LAPACK subroutine to add two matrices with different offsets and leading dimensions

I currently searching for a subroutine from BLAS or LAPACK which realizes the following operation A = alpha*A + beta * B where A and B have different leading ...
8
votes
1answer
360 views

Does PETSc ever make use of LAPACK libraries for sparse matrix math?

Does compiling PETSc with an external BLAS/LAPACK library significantly affect performance on sparse matrices, or does it only use those libraries for dense matrix math?
4
votes
1answer
161 views

Estimating time for running serial/parallel codes

Assume I am running an iterative method, I have a rough estimate of how many iterations it will need, How do best estimate the time it will run for in serial? For instance, If I have Conjugate ...
6
votes
4answers
1k views

Are DAXPY, DCOPY, DSCAL overkills?

I have implemented CG in FORTRAN by linking it to Intel MKL. When there are statements like: (Refer Wikipedia) p=r; x=x+alpha*p r=r-alpha*Ap; or similar ...
11
votes
3answers
810 views

Why isn't my Matrix-Vector Multiplication Scaling?

Sorry for the long post but I wanted to include everything that I thought was relevant in the first go. What I want I am implementing a parallel version of Krylov Subspace Methods for Dense ...
5
votes
2answers
2k views

How do I use ScaLapack/PBLAS for Matrix-Vector Multiplication?

After going to all possible "Introductions" to ScaLapack, I still can't understand how to carry out a simple PDGEMV operation using it. Here is what I must do : ...
46
votes
5answers
8k views

How much better are Fortran compilers really?

This question is an extension of two discussions that came up recently in the replies to "C++ vs Fortran for HPC". And it is a bit more of a challenge than a question... One of the most often-heard ...
12
votes
2answers
871 views

How useful is PETSc for Dense Matrices?

Wherever I have seen, PETSc tutorial/documents etc. say that it is useful for linear algebra and usually specifies that sparse systems will benefit. What about dense matrices? I am concerned about ...
5
votes
2answers
159 views

Is it possible to use BLAS if I have a function rather than a matrix?

My matrix sizes have grown beyond what can fit on the RAM but I have a function which defines each element cheaply. Is it possible use BLAS (in Fortran or even in MATLAB) in such cases? If I had a ...