Questions tagged [parallel-computing]

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

Filter by
Sorted by
Tagged with
18
votes
4answers
4k 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 ...
28
votes
5answers
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.
6
votes
2answers
381 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 ...
4
votes
3answers
2k 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, ...
15
votes
3answers
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. ...
5
votes
2answers
488 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 ...
7
votes
3answers
602 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 ...
41
votes
3answers
4k 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 ...
35
votes
2answers
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 ...
16
votes
5answers
5k 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 ...
17
votes
5answers
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 ...
14
votes
5answers
575 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 ...
21
votes
3answers
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 ...
7
votes
4answers
788 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 ...
17
votes
5answers
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 ...
10
votes
1answer
660 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. ...
9
votes
5answers
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.
5
votes
3answers
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 ...
8
votes
3answers
266 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 ...
3
votes
2answers
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 ...
7
votes
2answers
325 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 ...
5
votes
2answers
425 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 ...
5
votes
2answers
1k 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 ...
4
votes
2answers
184 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 ...
3
votes
3answers
473 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 ...
3
votes
1answer
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 ...
3
votes
1answer
924 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 ...
3
votes
1answer
350 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 ...
2
votes
1answer
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 ...
0
votes
0answers
287 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 <...
0
votes
1answer
187 views

openmp critical

Following this question, for the code below (from MS OpenMP docs example) ...