Questions tagged [parallel-computing]

The study of solving computational problems by exploiting the use of multiple processors simultaneously.

Filter by
Sorted by
Tagged with
19 votes
4 answers
5k views

Is there a general-purpose library for structured grid adaptive mesh refinement?

Adaptive mesh refinement (AMR) is a common technique for dealing with the problem of widely varying spatial scales in the numerical solution of PDEs. What general-purpose libraries exist for AMR on ...
David Ketcheson's user avatar
4 votes
3 answers
3k views

A good, simple book/resource on Parallel Programming in C++ for scientific computing

I am a Mechanical Engineering grad student, currently working on a project which will be scaled up in the new future to require quite some processing power. I am using C++ for the code that I have, ...
Ayush Agrawal's user avatar
29 votes
5 answers
5k views

Are there any famous problems/algorithms in scientific computing that cannot be sped up by parallelisation

Are there any famous problems/algorithms in scientific computing that cannot be sped up by parallelisation? It seems to me whilst reading books on CUDA that most things can be.
RNs_Ghost's user avatar
  • 507
15 votes
3 answers
3k 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 Matrices. ...
Inquest's user avatar
  • 3,384
7 votes
3 answers
691 views

C - OpenMP, MPI, Serial Program

I'm part of a Computational Science course and come from a non-programming background, so please forgive me my ignorance. I'm working on a set of code in C to numerically solve the Navier Stokes ...
kfkhalili's user avatar
  • 319
6 votes
2 answers
452 views

What guidelines should I use when choosing a scalable linear solver?

There are many different linear solvers, some which work best for diagonally dominant matrices, some for symmetric, some for positive definite ones, some for banded matrices, etc... There are direct ...
Paul's user avatar
  • 12k
5 votes
2 answers
595 views

How to parallelize a banded direct solver?

I have a linear system whose matrix that is diagonally dominant, non-symmetric, but banded. Since the band-radius is 2 (producing only 5 variables per equation), a banded direct solver (gaussian ...
Paul's user avatar
  • 12k
41 votes
3 answers
5k views

What's the state of the art in parallel ODE methods?

I'm currently looking into parallel methods for ODE integration. There is a lot of new and old literature out there describing a wide range of approaches, but I haven't found any recent surveys or ...
Florian Brucker's user avatar
36 votes
2 answers
8k views

Mathematical Libraries for OpenCL?

I am looking for information from anyone that has tried to use OpenCL in their scientific code. Has anyone tried (recently) ViennaCL? If so, how does it compare to cusp? What about OCLTools? Does it ...
Sean Farley's user avatar
  • 1,370
21 votes
3 answers
2k views

Parallel I/O options, in particular parallel HDF5

I have an application that can be trivially parallelized but its performance is to a large extent I/O bound. The application reads a single input array stored in a file that is typically 2-5 GB in ...
khinsen's user avatar
  • 1,731
20 votes
5 answers
1k views

How to address numerical non-associativity for parallel reduction?

A parallel reduction assumes that the corresponding operation is associative. This assumption is violated for addition of floating point numbers. You might ask why I care about this. Well, it makes ...
Thomas Klimpel's user avatar
17 votes
5 answers
6k views

Parallel optimization algorithms for a problem with very expensive objective function

I am optimizing a function of 10-20 variables. The bad news is that each function evaluation is expensive, approx 30 min of serial computation. The good news is that I have a cluster with a few dozen ...
Michael's user avatar
  • 417
17 votes
4 answers
3k views

Is there a good, easy-to-use, high quality open source CFD solver out there?

My thesis is on developing numerical methods for model reduction in combustion. I run my methods purely on the chemistry part of combustion simulations, and I have plenty of case studies for 0-D ...
Geoff Oxberry's user avatar
14 votes
5 answers
595 views

Examples of PDE computations using parallelism in both space and time

In the numerical solution of initial boundary value PDEs, it is very common to employ parallelism in space. It is much less common to employ some form of parallelism in the time discretization, and ...
David Ketcheson's user avatar
10 votes
1 answer
710 views

How to assemble and solve a matrix system in parallel from values generated in different processors?

I am solving a multiscale problem using the Heterogeneous Multiscale Method (HMM). Essentially, my particular procedure uses the following iterative process: Solve many local matrix systems. ...
Paul's user avatar
  • 12k
9 votes
5 answers
1k views

Is discontinuous Galerkin really any more parallelizable than continuous Galerkin?

I've always heard that easy parallelization was one of the advantages of DG methods, but I don't really see why any of those reasons don't also apply to continuous Galerkin.
Truman Ellis's user avatar
8 votes
3 answers
283 views

Reference Request for Profiling High Performance Computing Codes

I write codes in Fortran and C for various matrix algorithms. However, when I profile my codes using VTune, I usually run into some terminology that I cannot fully appreciate. Is there a good resource ...
Inquest's user avatar
  • 3,384
7 votes
2 answers
356 views

Comparing various implementations/software packages for large-scale finite element simulations

I currently use FEniCS and Deal.II to solve various FEM problems. I am also writing my own implementation of these problems by directly implementing the data structures, routines, and solvers within ...
Justin's user avatar
  • 791
7 votes
4 answers
889 views

When analyzing a parallel algorithm, how do you take communication costs into account?

My question is related in spirit to "Is algorithmic analysis by flop counting obsolete?". Counting the number of computational operations in an algorithm is commonly used as a first-order model to ...
Geoff Oxberry's user avatar
6 votes
2 answers
2k views

Maxwell vs Kepler for GPU computation

I am looking at the Nvidia GT-860M which comes in both the old Kepler and new Maxwell architecture. The old one (1152) seems to have almost twice the cores as the new one (640). The new one has a ...
Alex's user avatar
  • 163
5 votes
2 answers
457 views

Effects of memory speed/architecture on Pardiso scaling

I am using a program that utilizes the PARDISO solver as part of the Intel math kernel library. I am currently in the process of deciding on a new computer to run the simulations on. I have a ...
Godric Seer's user avatar
  • 4,627
5 votes
3 answers
1k 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 ...
Hugh Perkins's user avatar
4 votes
2 answers
209 views

What mapping strategy should I use when solving many large linear systems of equations?

I am working on a problem that involves solving many (thousands) of distinct linear systems of equations, each with thousands of variables. Let's assume that the size of each matrix is exactly the ...
Paul's user avatar
  • 12k
4 votes
0 answers
173 views

How amenable is this 2D Frenkel–Kontorova-like energy minimization problem in Python to the use of a modest PC + GPU? (Heavy reliance on indexing)

@Richard's answer to Going to try to move some of my scipy/numpy calculation to a new GPU, how to avoid disappointing results? is quite helpful, and as promised I've added a simple running example ...
uhoh's user avatar
  • 1,038
3 votes
1 answer
1k views

Is a checkerboard block decomposition of a matrix useful when solving a linear system with a parallel conjugate gradient method?

According to these lecture notes, a checkerboard block decomposition should exhibit better scalability when applied to parallel matrix-vector multiplication (presumably because of greater cache hit ...
Paul's user avatar
  • 12k
3 votes
3 answers
498 views

What are the current obstacles to reaching exascale computing?

I have heard that one of the current goals in scientific computing is to surpass the exascale level by 2018 or so... After having passed the petascale a few years ago, one would think that the ...
Paul's user avatar
  • 12k
3 votes
1 answer
3k views

Solving Advection (Convection) - Diffusion - Reaction Partial Differential Equation in Python

I am looking for library written in Python which will enable me to solve the coupled nonlinear equations which looks like: I need the library which will enable me to couple this solver to other ...
Igor Markelov's user avatar
3 votes
2 answers
2k views

GPU-enabled Lattice Boltzmann solvers?

Is anybody aware of any GPU-enabled Lattice Boltzmann solvers (preferably on C++/OpenCL and open-source) that would be recommended? I have found Advanced Simulation Library, but it seems to be very ...
user1876484's user avatar
3 votes
1 answer
516 views

Designing a preconditioner for a very Ill-conditionned matrix

I am a physicist with limited numerical methods knowledge and I am trying to speed up the inversion of a very ill-conditioned problem ($rcond>10^{30}$). The same sparse square matrix is used ...
RYegavian's user avatar
3 votes
2 answers
2k views

GPU vs CPU calculation

I've been working on calculating large factorials ($N>10^9$) and I was wondering if it wasn't faster to use the GPU to run the calculations on something like openCL. What I realized however was ...
Bernardo Meurer's user avatar
2 votes
1 answer
2k views

Parallel vs Serial Thomas Algorithm

I am currently writing a code that solves a large tridiagonal matrix every iteration and runs for 1,000's of iterations. I am currently using a Thomas algorithm to solve the matrix serially. I found a ...
mjaisit's user avatar
  • 21
1 vote
2 answers
2k views

Using OpenMP in Fortran for common array operations

In Fortran, given arrays A(1000000) and B(1000000), and to compute the sum you simply write: C = A + B However, when I want to implement OpenMP, I have to write ...
Michael's user avatar
  • 153
0 votes
0 answers
779 views

Openmp critical section inside if conditional statement

I have a function like this void foo(x, *y) { some calculations if (x > *y) { *y = x/2; } more calculations } My parallel section is <...
user123's user avatar
  • 679
0 votes
1 answer
615 views

openmp critical

Following this question, for the code below (from MS OpenMP docs example) ...
user123's user avatar
  • 679