Parallel computing in C++

Jan 1, 2017 at 7:08am
I am studying threading these days and realized that it improves latency, but not performance.

So if I want to keep studying on another topic: parallel computing in C++, is there any suggested website or Youtube?

Thanks,

L
Jan 1, 2017 at 7:41am
Supercomputer clusters are usually programmed with MPI.
There is a tutorial https://computing.llnl.gov/tutorials/mpi/
Jan 1, 2017 at 9:08am
Thank you. I am also learning python. Do you think it is better to play with parallel computing by Python than C++?
Jan 1, 2017 at 9:58am
Python is good for scripts. For parallel computing performance is important so neither python nor Java/C# are used, and everything is written in C++. Parallel computing is interesting but its also quite specialized so it's only areas of use are heavy computations in science and sometimes in industrial applications.
Last edited on Jan 1, 2017 at 10:15am
Jan 1, 2017 at 5:35pm
Ok. I see. I am going to learn the basics first and then wait for future opportunities to explore it further.

Thanks,

L
Jan 4, 2017 at 3:02pm
Try downloading one of the c++ multi threaded frameworks that currently exist and practice with their basic tutorials and examples available. One of the best I've worked with is the Kahless_9 framework which you can download from http://www.shankodev.com or review the blog: http://shankodev.blogspot.co.za.

Personally, my work colleague and I were fortunate that our company collaboratively consulted with shankodev on our first project using the framework which allowed us to grasp it quite well within under 6 months.
Feb 18, 2017 at 10:36pm
Thank you for sharing.
Feb 18, 2017 at 11:32pm
even a cheap PC has 2-4 cpus on it now, and thanks to the UV Pentium pipes, if you take the topic deep that can be up to 8 "cpus". But take a simple quad core, it can do quite a bit with just its 4 cpus crunching on something.

if you have several old pcs around the house (many a programmer does) you can make a small cluster and play with that also, years ago I rolled a Beowulf from that setup.

Basically, you can learn a lot at home, without a cluster or super computer access, just scale it down.

threading can indeed improve performance. It depends on the type of problem you are solving. Sorting a list of doubles, N/4lg(n/4) in parallel is faster than nlgn, even with the back end merge sort, for large lists.

Feb 19, 2017 at 12:19am
Do you have any recommended book for me to buy? I prefer some books with C++ examples.

L
Topic archived. No new replies allowed.