A workstation for physicists, and programming in GPUs

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
7 replies · 3K views
Telemachus
Messages
820
Reaction score
30
Probably everyone is aware of the new cpu's by intel and amd, which will have many cores. The threadripper will be launched on August 10, and it will have up to 16 cores. I am making plans to build a workstation, the idea is to code in parallel, so the more cores is obviously the better. Also, I will want to work with CUDA or OpenCL, i.e. to program in parallel using gpus.

AMD has delivered a new gpu called Vega, which is aimed for scientists (ideal for people like me, I suppose). However, I have never programmed in a gpu, and I want to introduce my self in this a little bit more. In particular, I have heard that gpus works in single precision, does anyone know if this in general for all gpus? if the professional gpus by Nvidia are also limited to single precision? what about vega?

What are the pros and the cons of CUDA vs OpenCL? which should I choose?

I would also like to use this topic to know which would be the ideal desk computer as a workstation for physicists. Which cpu? amd or intel? threadripper? which motherboard? which memory ram and how much of it? what about the hard disk? ssd? which gpu?

All opinions are welcome.

Thanks in advance.
 
Physics news on Phys.org
  • Like
Likes   Reactions: Telemachus
Telemachus said:
However, I have never programmed in a gpu,

Then I wouldn't run out and buy an expensive card. I'd buy a $40 card, stick it in whatever PC you are using now and learn to program one first.
 
  • Like
Likes   Reactions: Telemachus
Vanadium 50 said:
Then I wouldn't run out and buy an expensive card. I'd buy a $40 card, stick it in whatever PC you are using now and learn to program one first.

There may be a better solution. Most universities and research institutes have some kind of cluster computer which includes GPU's. So this may be enough for testing.
Not all cards are equally suitable. What Telemachus needs is apparently general purpose GPU computing and I think not every GPU is capable of doing that.

I used Cuda and I think there's somewhere a list of Nvidia GPUs which are supported.

Unfortunately there is no single answer to the question: Which computer for a physicist. The more, the better, actually. Many physicists run their expensive calculations remotely on supercomputers, or they have a shared workstation because those things never need to run all the time anyways.

You must mostly think about how difficult your task is, and how accessible it is to simple parallelization.
 
  • Like
Likes   Reactions: Telemachus
Gigaz said:
I used Cuda and I think there's somewhere a list of Nvidia GPUs which are supported.
CUDA is a registered trademark of NVIDIA Corporation.

OpenCL supports a wider range of manufacturers, including NVIDIA. If you want support for managing the widest range of Intel or AMD multi-core CPUs and NVIDIA or AMDs Radeon Pro GPUs then consider OpenCL. It is more open, and is closer to the hardware than is CUDA when it comes to optimisations. Maybe there will be a dominant manufacturer. We cannot expect either CUDA or OpenCL to die.

I gave earlier the example of the Pascal architecture GTX1070. It has no monitor plug as it is a dedicated GPGPU, a parallel computing coprocessor, so you will need an integrated display chip on the motherboard, which will hopefully give you a few more MFLOPS. Next year there may be a better way to get more bang for your buck.

So long as AMD and NVIDIA are competing, GPGPUs will continue to go through rapid increases in performance. Each generation takes only a couple of years. We have been in the NVIDIA Pascal architecture since 2016 and apparently will get shipments of Volta architecture in 2018.

Most computational software packages now support GPUs, check out which packages you use and if they have both CUDA and OpenCL libraries. If you are using a super-computer made from many NVIDIA GPGPUs you will obviously do better using to CUDA.

A free copy of OpenCL will almost certainly work on any multi-core CPU and graphics chip in your existing machine. So delay your purchase while possible, then make the hardware decision once you have climbed the parallel software learning curve. Only then will you will know what hardware will work best for you in the future.
 
  • Like
Likes   Reactions: QuantumQuest and Telemachus
Baluncore said:
The present generation of NVIDIA GPUs have improved double precision.
https://en.wikipedia.org/wiki/Pascal_(microarchitecture)#Streaming_Multiprocessor_.22Pascal.22

Take a look at the 10xx series GPUs.
https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units#GeForce_10_series

The GTX1070 does 181 Gflops or 228 Gflops for double precision, at a good price.

At the moment it looks like OpenCL is the way to go as it handles many sources of hardware.
Do you know if the new cards by amd are able to work in double precision too? I ask for amd because it is much cheaper than nvidia and intel.

I looked at the wikipedia page for vega and it seems it does: https://en.wikipedia.org/wiki/AMD_RX_Vega_series
 
Last edited:
Telemachus said:
Do you know if the new cards by amd are able to work in double precision too? I ask for amd because it is much cheaper than nvidia and intel.

I'm pretty sure that only the Nvidia Tesla series has a significant amount of GPU double computing. It is in most cases possible to use float precision in physics, but you need to know your stuff when it comes to precision loss in subtraction. So you may have a lot more problems with the programming.
 
  • Like
Likes   Reactions: Telemachus
@Telemachus. I am going through the same process as you, so have been studying the form for the past lunar cycle. The AMD Radeon option is the lower cost GPU, but when it comes to any GPU it is hard to tell what you are getting from any manufacturer. The detail of the internal architecture is very well hidden.

Telemachus said:
Do you know if the new cards by amd are able to work in double precision too? I ask for amd because it is much cheaper than nvidia and intel.
There is double precision in the AMD Radeon HD 69xx and the Radeon HD 7730 onwards to the Radeon Pro WX x100. Take a look at the bottom half of the table here …
https://en.wikipedia.org/wiki/List_...ssing_units#Comparison_table_Workstation_GPUs
 
  • Like
Likes   Reactions: Telemachus