Introduction to High-Performance Scientific Computing
pages.tacc.utexas.edu
pages.tacc.utexas.edu
This blog has been a good cookbook reference for how to use it in a modern way: http://www.gnuplotting.org/
SVN also has the important advantage of being relatively easy to pick up by someone who's not a programmer. It would not be my first choice for a version control system now that we have Mercurial and git (frankly, it wasn't not even back when our only affordable alternatives were CVS and RCS), but it's very easy to teach it.
We're about to start rolling out chapters from my book, which covers the latest version:
https://alogus.com/publishing/gnuplot5/
EDITed to reflect comment below.
I've edited my comment to make it more accurate.
What is the performance like on that?
To me, "gnuplot or matplotlib" is a little beside the point - if we're using one of those it's for something quick 'n dirty, or for a relatively simple plot of summary data.
That it takes more effort to produce a "beautiful" output is myth, in my experience. People used to say that in large part because up to gnuplot 4 the default colors were ugly primary colors. On gnuplot 5 and above, it's no longer the case. Plus, you can customize the default colors/styles by editing the .gnuplot file. I've done so: https://ghostbin.com/paste/pvj5m
Also, if you link straight to the pdf you don't get to see links to my other books.
Or links to places where you can get a paper copy. Which actually earns me a couple of pennies.
So please: don't make your own link to the pdf file. Don't.
dang if you see this, could you delete or edit my above comment ? Thanks
Also, white text on sky background with white patches (sun, clouds) has unreadable portions.
If you look at the BOINC project those are basically all problems of this kind. Folding proteins like folding@home does for example. The description of a protein is fairly small, a couple megabyte max. However it takes a long time to simulate the behaviour, since chemistry is a messy probabilistic process with lots of back and forth. Nature does this on trillions of proteins at the same time within nanoseconds, and while we cannot reasonably increase the simulation speed of an individual protein, we can at least simulate as many proteins at once as possible.
There is a ton of important scientific work waiting for core hours that really shouldn't be. A loosely-connected grid of laptops would serve a lot of projects very well. On the other hand, there is a large body of work that does require a classical supercomputer, so it doesn't really do anyone any good to accuse MPI of being a sales gimmick.
An isolated, off-net computer - even a desktop PC- stuffed to the gills with GPUs can do HPC. On the other hand, machines connected with 10gbit might do HPC, but you'll have trouble getting codes to scale in a way that is "high performance", relative to what you can get out of threading on a single machine, or a small number of GPUs.
Very little work truly requires classic supercomputers or MPI- there are very few codes where an important engineering problem must be run on a system with low latency, high bandwidth.
"Great chance that it is cost efficient to run your job on our servers. Our servers are distributed over homes, so you don’t have to pay for the overhead of a datacenter. This means that your cost-per-job is up to 55% lower and you compute sustainably, as we use the produced heat to heat homes."
Distributed over homes? As in "houses"? Your customer's data is stored at someone's (an employee's?) house?
This is a cute idea but I am skeptical that it makes sense from either an economic or environmental perspective. There are far more efficient ways to produce heat than electric heaters that run 24/7, and likewise cooling in data centers can be extremely efficient by making use of water, e.g., see https://www.google.com/about/datacenters/efficiency/internal...
Also, maintaining servers in people's homes must be quite expensive and there is limited capacity. It's hard to see that scaling.
advanderveer -- do you have some sort of white-paper that compares the alternatives?
Disclaimer: I work for Google, but not on Google Cloud.
Do you mean cheaper? Because generating heat always has 100% efficiency. The only difference is that if you go from burnable materials to heat directly you don't get the nice side effect of getting computation done, so burning stuff is actually less efficient.
As for burning stuff - burning stuff is typically much cheaper, although it is actually the least efficient way of heating, in terms of a ratio between the usable heat you get and the total chemical energy converted to heat.
Root-finding/optimizing is something many people do/need.
Also, compared to that curriculum, the topics you mention have robust methods and stable libraries? So you can use what somebody else did. It is more likely that you need to know the gritty details if you solve PDEs, vs solving ODEs.
As for "laptop can do in seconds" - well, not if your objective function takes a few minutes to run. The last time I needed it, the objective function took about 2 minutes, and there were 8 parameters we were optimizing over. Standard derivative based optimizing algorithms will require 9 invocations of the function per iteration. So one iteration of the algorithm took about 18 minutes. Certainly not "seconds". Of course, those evaluations could be done in parallel, so I just had them run on multiple cores, bringing it down to only a few minutes per iteration.
Without knowing something about the algorithms my library was using, I would have been totally lost (not to mention I would have likely picked the wrong algorithm for the job at hand).
But yes - I did not write my own algorithm - just used an off the shelf one. However, if you expect that someone who hasn't studied the topic can just use a random optimization algorithm and get things to work, you are mistaken.
As for whether it's a good book "to get into the topic", I guess it depends on what you mean exactly. If you're a scientist who needs to write simulation code that can run on current HPC resources, congratulations , you're smack in the middle of the target demographic of this book (I guess). If not, well, maybe some other book is more appropriate.
Came here to say this. I know Victor, and he is top notch.
> Hyperbolic PDEs ... will not be discussed in this book.
Aw. :(