A workstation for physicists, and programming in GPUs

Click For Summary

Discussion Overview

The discussion revolves around building a workstation for physicists, focusing on the use of CPUs and GPUs for parallel programming, particularly with CUDA and OpenCL. Participants explore hardware options, including Intel and AMD CPUs, various GPU models, and considerations for double precision performance in computational tasks.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants mention the upcoming AMD Threadripper with multiple cores and express interest in parallel coding capabilities.
  • There is a discussion about the capabilities of current NVIDIA GPUs, particularly regarding double precision performance, with references to the GTX1070.
  • Some participants suggest starting with a less expensive GPU to learn programming before investing in high-end hardware.
  • Concerns are raised about the suitability of different GPUs for general-purpose computing, with some suggesting that not all GPUs are capable of effective parallel processing.
  • OpenCL is proposed as a more versatile option compared to CUDA, as it supports a wider range of hardware, including both NVIDIA and AMD GPUs.
  • Participants discuss the importance of understanding precision in computations, particularly in physics, and the potential issues with precision loss in calculations.
  • There is mention of the AMD Vega GPU and inquiries about its double precision capabilities compared to NVIDIA's offerings.
  • Some participants note that the Tesla series from NVIDIA is specifically designed for significant double precision computing.

Areas of Agreement / Disagreement

Participants express a range of opinions on the best hardware for physicists, with no consensus on a single ideal configuration. There are competing views on the advantages of CUDA versus OpenCL, and uncertainty remains regarding the double precision capabilities of various GPUs.

Contextual Notes

Participants highlight the variability in GPU performance and suitability for specific tasks, noting that not all GPUs are equally effective for general-purpose computing. There are also references to the hidden details of GPU architecture that may affect performance.

Who May Find This Useful

This discussion may be useful for physicists, computer scientists, and engineers interested in building workstations for parallel computing and exploring GPU programming options.

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.
 
Computer science 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

Similar threads

Replies
10
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
Replies
2
Views
4K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 34 ·
2
Replies
34
Views
9K
  • · Replies 11 ·
Replies
11
Views
16K
  • · Replies 3 ·
Replies
3
Views
18K
Replies
4
Views
6K
Replies
11
Views
4K