# Tag Info

Accepted

### Why does sparse linear algebra have a low arithmetic intensity?

BLAS1-operations, BLAS2-operations, and sparse-operations share the same curse of low arithmetic intensity, that they perform $O(1)$ flops for each memory read (contrast this to a BLAS3-operation like ...
• 4,862

A long standing favorite benchmark in high performance computing has been the HPLinpack benchmark, which measures the speed of a computer system in floating point operations per second while solving a ...
• 18.7k
Accepted

### Intel Knights Landing work loads vs NVIDIA GeForce

Like Brian said, the Xeon Phi cores are not at all comparable to the CUDA ones. The problem with the Phi is that it's somewhere between two horses. If you are doing highly parallel floating point ...
• 2,493

### Python implementation for Frechet Distance

I realize this question was asked a while ago, but I recently needed the Freschet distance as well. I couldn't find any implementations for Python, so I wrote my own based on the paper: "Computing ...
• 285
Accepted

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

One of the first things that you need to understand about parallel programming is the difference between shared memory multiprocessor computer systems and distributed memory clusters. A shared ...
• 18.7k

### Intel Knights Landing work loads vs NVIDIA GeForce

CUDA cores aren't at all comparable to the separate processor cores in the Xeon Phi coprocessors. The Phi coprocessor cores are full fledged processors that can have their own loops, branching, etc. ...
• 18.7k

### Questions on the theory of distributed numerical algebraic computation

Building such a library from scratch is a serious undertaking. The SLATE library, which targets the functionality you're looking at, has taken about 6 years with 4-7 full-time developers, most of ...

The honest answer is that we don't know. The answer depends heavily on what is actually being run and what code the user has written. As Brian Borchers points out, there's a big difference between two ...
• 10.9k

### How to simulate over 1 billion particles?

A first step, if you "have never been up in computing", is to read the literature and see what others are doing and have done. The second step is that you will likely learn that what you want to do ...
• 54.9k
Accepted

### Can Julia be used to create a large-scale CFD software like OpenFOAM?

I think the question is just too subjective to answer. In the end, there are excellent C++ libraries for nearly everything that has to do with the solution of PDEs, whereas they are largely missing in ...
• 54.9k

### PhD in scientific computing to be a scientific programmer

I think you are asking the wrong question. You are asking "do I need a PhD for folks to hire me as a scientific programmer?" This is a kind of hypothetical. You're asking and getting ...
• 3,961

### Approximately, at any given time, what proportion of the world's total HPC resources are dedicated towards inverting matrices?

The number is almost certainly unverifiable because every HPC system's overall user community is different and because there are so many systems around. I think that the number is vastly smaller than ...
• 54.9k

### Is it a good idea to use vector<vector<double>> to form a matrix class for high performance scientific computing code?

I don't recommend it, but not because of performance issues. It will be a little less performant than a traditional matrix, which are usually allocated as a big chunk of contiguous data that is ...
• 3,283

### HPC : should I compile on the head node or on a compute node?

Let me supply a belated answer from the POV of a cluster user and a cluster administrator. A well-designed cluster will, in general, be as homogeneous as possible, with login-nodes being generally a ...
• 351

### Leveraging scipy for matrix free finite elements

I would say that the implementation + verification + unit testing would take you more than just 3 weeks. Although, if you are planning to invest that time, you might add that capabilities to ...
• 8,490
Accepted

### Where can an undergraduate go to find cores on a budget?

You need funding, you need a better algorithm, a better implementation, or you need to change your problem. To get funding, you need to work with your adviser. This could be about using grant money or ...
• 12.3k

### Why does sparse linear algebra have a low arithmetic intensity?

This really depends on the operations you are including in your question. If you took the sparse equivalent of any level 1 BLAS or level 2 BLAS algorithm, then yes they are memory bound (not compute ...
• 3,283
Accepted

### How much space store a matrix of numbers?

If you consider a 4 by 4 matrix of integers, it will be stored in memory as a unique array of integers. Since each integer is 4 bytes ( 32 bits) (sometimes not, but it's not important here) then you ...
• 540

### Profiling scientific computing codes on MacOS

One way to approach this would be to record the performance information on your machine (compile with -pg (gprof) compiler option), run your program like you normally would, and write that data to a ...
• 2,852

### Working with large mesh files

My answer is primarily opinion-based, given my experience. In my work, I haven't (yet) dealt with meshes quite as large as what you're describing. However, I've seen large enough meshes to hint that ...
• 1,243
Accepted

### Leveraging scipy for matrix free finite elements

It turns out that scipy does indeed support this type of overloading. One simply needs to write a class inheriting from ...
• 662

### simulation outputs differ across hardware platforms

How identical are your two runs? Same number of processors at least? If you're doing a parallel reduction then one platform can use a different algorithm, so because of lack of associativity you get ...
• 1,330

### simulation outputs differ across hardware platforms

Have you considered the possibility that they're both wrong, or both "right"? Do a quick backward error computation $\left\| L u - f\right\|$ (with requisite adjustments for you case) at the end of ...
• 2,155

### How to store a TB size array in C++ on a cluster

You could try using UPC++, which sets up a globally accessible address space distributed across your nodes. A more standard approach would be to learn how to use MPI.
• 3,961
Accepted

### Pricing of HPC resources in terms of power usage

To my knowledge, yes and no. When HPC centres (many of them) calculate the bill for companies and private individuals, they assume some average amount of power is going to be used and charge ...
• 2,526

### Problems on the algebraic theory of sparse matrices

your question is too general. It is very to hard to give specific advice. I will suggest you two books that you can use as first references, but they may not help much in terms of GPU computing for ...
• 2,526
Accepted

### How does MPI differentiate between two computers?

The standard is purposefully silent on these issues preferring to leave such issue to library implementers to figure out. There's no need to standardize such mechanisms. Most network hardware has a ...
• 10.9k

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

I quite liked Parallel Scientific Computing in C++ and MPI when I first used it few years ago. I've a feeling it's C++ is quite dated now and, as has already been observed, MPI and C++ don't play ...

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

Here's a couple of resources for MPI for C language. mpitutorial.com A User's Guide to MPI by Peter Pacheco. This is accessible from the page that @BillGreene referenced in his comment, but this is ...
• 1,243

### Decrease execution time using openMP

The algorithm you are using spawns extremely cheap tasks, especially at small $n$. As you don't have a luxury of changing the algorithm, the only reasonable (relatively) way to avoid the overhead of ...
• 8,652

Only top scored, non community-wiki answers of a minimum length are eligible