Questions tagged [parallel-computing]
The study of solving computational problems by exploiting the use of multiple processors simultaneously.
321
questions
0
votes
0
answers
32
views
Unable to validate hypersonic flatplate case in DSMC SPARTA
I'm trying to learn a software called DSMC SPARTA. I'm validating the hypersonic flatplate case mentioned in one of the tutorials on the website (Page 17). This was my test case:
...
2
votes
2
answers
434
views
Iteration counts of AMG solver changes in parallel
I am solving the linear elasticity equation within a FEM library with a complex 3D geometry. The resulting linear system is solved with CG, preconditioned by AMG (Algebraic Multigrid). The computed ...
2
votes
0
answers
33
views
Diagonalization of large sparse matrix, computational programme recommendation and methods
According to this link, All eigenpairs of large sparse symmetric matrix. The guy @Baranas seems to have given a very confident answer about solving the whole Eigen spectrum. May I know if anyone has ...
1
vote
2
answers
447
views
PhD in scientific computing to be a scientific programmer
Intro and disclaimer: this question concerns developing a career in Scientific Computing in industry, starting from an (applied) mathematics background, say an MSc. It definitely arises from my ...
0
votes
1
answer
107
views
Lattice Boltzmann method parallelization
I'm learning about the lattice Boltzmann method (LBM) and how it can be parallelized. On Wikipedia, they say, "The LBM was designed from scratch to run efficiently on massively parallel ...
1
vote
0
answers
61
views
OpenMP Fortran array operations in target regions
I am asking this here for the possibility that someone here is familiar with OpenMP offloading. Is there some other way to parallelise Fortran array operations outside of unrolling the loops of the ...
0
votes
0
answers
28
views
Parallel Block-Structured class abstraction for FDM
I’m currently developing a FDM/FVM (using contravariant coordinates) code using Fortran and Co-Arrays (SIMD, in general), and so far I have all sparse matrix (BiCGStab, working on AMG) solvers and ...
3
votes
1
answer
272
views
Under what circumstances is parallel scaling of the finite element method not "solved"?
I see things like this deal.II example, (ctrl + f for "superMUC") which seems to show some pretty impressive scaling (nearly twice as fast for twice as many CPU cores for a wide range of ...
1
vote
0
answers
41
views
Where to find datasets to research the optimal parameter search space for HPC systems? [closed]
I am a student researcher who is new to the HPC domain.
I have recently taken a project where I am working on optimizing the parameter search space (both application level and hardware level ...
2
votes
0
answers
120
views
Why GPU scaling (speedup) is usually worse than CPU scaling?
Let's define scaling, as how linear the speedup of using more than one GPU or CPU is. For example, having 2 GPUs gives you 2x faster execution time.
I have noticed that in many software (e.g. ...
2
votes
1
answer
170
views
Parallelize pseudo inverse of a matrix using Lapacke
I am currently using the protocol described in
https://stackoverflow.com/questions/55599950/computation-of-pseidoinverse-with-svd-in-c-using-blas-and-lapacke to compute the pseudo inverse of a matrix.
...
0
votes
2
answers
64
views
How to define a global index from local index and rank in parallel computing
Suppose I have 4 processes and each process has $n_i, i=0,1,2,3$ elements. In particular, with rank $0$, we have loc indices list $[0,1,\ldots, n_{0}-1]$ and $1$, we have loc indices list $[0,1,\ldots,...
1
vote
1
answer
174
views
How does a blocking MPI all to all synchronization work?
I was trying to understand more in detail how a blocking MPI all to all really work. Of course, the actual all to all traffic is pretty straightforward, what I can't understand is how it is able to &...
0
votes
0
answers
50
views
Calculate the time taken to run an algorithm on GPU
I want to calculate the total time taken for a fixed code run using an NVIDIA GPU (for instance, Tesla K40). The code has to run 1 million single-bit comparisons. All the comparisons are independent ...
0
votes
0
answers
101
views
How to decouple nodes and cores with MPI?
I have code currently using multiprocessing with joblib to distribute computations from a loop over multiple cores within one cluster node, like so:
...
0
votes
0
answers
67
views
where to use multiprocessing in multi-loop program
I am running a program that uses [a lot of] looping to perform a type of bootstrap analysis. The computational step - PCA - can take a long time (60+) seconds, which means that collectively this ...
3
votes
1
answer
56
views
Measurement of observables in Parallel Tempering Monte Carlo simulations
I'm doing Metropolis-Hastings Monte Carlo simulations of a classical spin Hamiltonian at different temperatures using the parallel tempering algorithm.
I have managed to obtain constant exchange rates ...
0
votes
1
answer
60
views
Pythonic way of finding RMS in large dataset
I am working on a fluid mechanics problem with a 4-D dataset (time,x,y,z). I am trying to find the RMS values such as $\overline{u^\prime u^\prime}$,$\overline{v^\prime v^\prime}$,$\overline{w^\prime ...
0
votes
1
answer
78
views
Distributed Optimization of Least Powers
I have $F_i \in \mathbb{R}^{m}$, $y_i \in \mathbb{R}$, $\beta_i \in (1,\infty)$ for $i = 1,\ldots, n$.
I would like to solve the following convex optimization problem
$$\min_{x} \sum_{i = 0}^n |F_i\...
0
votes
2
answers
354
views
Searching for recent code source for "Parallel scientific computing in C++ and MPI "
I am learning C++ scientific computing with "Parallel scientific computing in C++ and MPI A Seamless Approach to Parallel Algorithms and their Implementation" since it kept coming up a lot ...
2
votes
2
answers
131
views
How can I write a GPGPU program that can run on any GPU?
Here is my objective: I want to code a ray tracing engine in C++ that can be run on any GPU. That means that it should work on NVIDIA GPUs, AMDs, or even Intel Graphics chipsets. The choice of C++ was ...
0
votes
0
answers
67
views
Is there a mathematical algorithm that can determine whether a problem is parallelizable?
Is there a mathematical algorithm that can determine whether a problem is parallelizable?
Possibly similar to how the definition for "computable" works out:
https://en.wikipedia.org/wiki/...
2
votes
0
answers
77
views
How to find eigvals/eigvecs of huge symmetric tridiagonal matrix using multiple processes or threads?
In python, there is a function in scipy (scipy.linalg.eigh_tridiagonal) which is extremely efficient for an exact diagonalization of a symmetric tridiagonal matrix (...
5
votes
3
answers
311
views
Deep learning using Distributed linear algebra
Is there any deep learning library based on Trillinos or Petsc linear algebra?
4
votes
0
answers
235
views
Can you provide an example of an algorithm that has strong scalability but not weak scalability? Can you also provide an example the other way around?
Strong Scaling and Amdahl's Law
Strong scaling is a measure of how, for a fixed overall problem size, the time to solution decreases as more processors are added to a system. An application that ...
0
votes
1
answer
877
views
Solve a large-scale linear system of equations with millions of unknowns
I have a large-scale system of linear equations: $Ax = b$, where $A$ is an $n\times n$ square symmetric positive definite matrix (not sparse), $b$ is an $n \times 1$ vector and $x$ is $n\times 1$ ...
4
votes
0
answers
164
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 ...
4
votes
2
answers
604
views
Direct solvers and domain decomposition for FEM
In the finite element method, in order to use MPI, we need to decompose the domain into sub-domains first. Then my question is whether we can solve each sub-domain using a direct solver?
Of course, ...
3
votes
0
answers
85
views
Numerical calculation of out-of-time order correlators (OTOCs)
I want to numerically calculate OTOCs for different quantum mechanical systems. Consider the following Hamiltonian
$$H=p_x^2+p_y^2+x^2y^2$$
and I want to calculate the following OTOC
$$C_T(t)=-\left&...
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 ...
3
votes
1
answer
281
views
Multi threaded finite element assembly implementation
What is typically the best way to multi thread the assembly loop in a finite element code? Does anyone have experience with implementing this, that they can share? I can think of a couple of ways of ...
18
votes
1
answer
2k
views
How to Run MPI-3.0 in shared memory mode like OpenMP
I am parallelizing code to numerically solve a 5 Dimensional population balance model. Currently I have a very good MPICH2 parallelized code in FORTRAN but as we increase parameter values the arrays ...
2
votes
1
answer
109
views
MPI vs OPENMP usage for boundary element method
I have an implementation question with MPI and OPENMP.
I have a large three-dimensional surface mesh divided into elements. I want to loop over each element (outer loop) and compute an integral over ...
1
vote
2
answers
256
views
Affecting parts of an array outside MPI process efficiently
This was originally asked on Stackoverflow but instead of migrating it was suggested I repost here and delete that one. I've tried to clarify based on comments there.
I'm new to MPI, but I am trying ...
2
votes
1
answer
132
views
Vectorization Matlab/Octave of Markov Matrix Powers
I have just created a code snippet in Octave/Matlab that aims to create a plot which shows the accuracy of an initial probability vector $\vec{\pi}$ derived from the transition probability matrix $\...
0
votes
2
answers
388
views
Passing in user inputs with mpirun
I am building a quantum circuit simulator using mpi4py. The simulator takes user inputs to build the initial system and quantum gates the system passes through. I can get the code to work if I do not ...
3
votes
2
answers
322
views
OpenMP: parallelizing calculation of pair interaction forces
I recently started to learn OpenMP. Albeit I have developed some intuition I still have some doubts on how to proceed under certain circumstances that are very useful for computational physicists.
My ...
1
vote
0
answers
254
views
Why does Eigen allocate a temporary to evaluate A.noalias() = B.transpose()*C in parallel?
I wrote a program which iteratively transforms data using matrix multiplications. To minimize the number of large memory allocations, I use two roughly equal-sized ...
0
votes
3
answers
612
views
How to apply the boundary condition when global stiffness matrix is stored in csr format? [duplicate]
I am solving the poisson equation and I constructed the global stiffness matrix in compressed row storage format. Then I wrote the preconditioned conjugate gradient solver for solving the system of ...
0
votes
1
answer
165
views
MPI_Test not progressing MPI_Isend/MPI_Irecv requests
I am running a CFD simulation with a 200,000-vertex mesh. I've decomposed the mesh into 2 load-balanced sub-domains to test my parallel implementation. In the specific function that I am time-...
0
votes
0
answers
77
views
Output solution vector in Petsc
I am using petsc to solve a linear elasticity problem discretized by finite elements.The initial mesh is read by a mesh file and the distribution in each processor is done using METIS.I am using only ...
5
votes
1
answer
268
views
Solving PDEs in parallel
I have read different approaches on how to solve pdes in parallel which are discretized using finite element method. For example:
Non-overlapping domain decomposition approach as mentioned in https://...
0
votes
0
answers
46
views
Methodology to develop parallel GPU simulations
I'm quite new to GPU or in general parallel programming. I am working on a Lattice-Boltzmann simulation that should be parallelized on GPU's. I wanted to asked more experienced people how to attack ...
2
votes
1
answer
448
views
Can one safely use an OpenMP parallel loop with Armadillo?
I have a C++ code performing some Armadillo computations in a loop. I'd like to parallelize this loop with OpenMP. But Armadillo automatically uses OpenMP for some computations. So, would the OpenMP ...
2
votes
3
answers
259
views
C standard for computational science
Which C standard should be used for computational science code ?
Should we keep compatibility with C89/90/ANSI or jump to C99 or C11 ?
Context:
Code will use third-party : BLAS, LAPACK, MKL, ...
0
votes
3
answers
611
views
Parallel output in ASCII-format with MPI
After some parallel computations, I need to write the results in a file and for plotting reasons, I want them in ASCII format. Because of performance issues, I want to avoid to ...
25
votes
10
answers
9k
views
Are there any embarrassingly parallel tasks that require a CPU rather than GPU?
I am looking for tasks that
are unsuitable for GPUs
gain significant speedup as more CPU nodes are added
don't require large data transfer or inter-thread communication between nodes.
Do any ...
1
vote
1
answer
147
views
How to debug segmentation faults in large problems?
I am sorry if this question seems like off topic or opinion based, but I was not sure how to go about it.
I am currently working on a 100k x 100k positive definite linear system and trying to solve it ...
1
vote
1
answer
92
views
preconditioner for $u''(x)=\sin(x)$
I am interested in finding preconditioner to solve the problem for one dimensional problem $u''(x)=\sin(x), u(0)=u(1)=0$ using Dirichlet-Neumann method.
The preconditioner $M$ coming from Dirichlet-...
6
votes
1
answer
1k
views
Parallelize Scipy iterative methods for linear equation systems(bicgstab) in Python
I need to solve linear equations system Ax = b, where A is a sparse CSR matrix with size 500 000 x 500 000. I'am using scipy.bicgstab and it takes almost 10min to solve this system on my PC and I need ...