What Computer/GPU Platform to Choose?
From Jacket Wiki
Selection of a suitable GPU or a complete computer platform for GPU based computations is the subject under discussion here. This subject is a huge one - and one which does not have one answer. It is possible to set up some guidelines though - and I will try to do this in the following. I have tested a number of laptops and workstations as well as a selection of different GPUs. I believe there are some general observations, which may be relevant to others and I will try to describe these below.
The first issue to consider is the intended use. Are we trying to set up a very powerful GPU computer, which can be placed in a cooled server room or similar. Or is it a computer that we have to live with in the daily life of the office. In my view we can divide the search into the following user scenarios:
- Top Performance where power consumption, noise level and money to a certain degree don't matter. Here we go for performance and performance alone. Double precision computations on the GPU will almost always be required.
- Office Performance where we want a computer as powerful as possible - but it must be such that we can (barely) live with it in our daily life in the office. Normally, this computer must be able to conduct double precision computations.
- Power Optimized case where we want a decent performance but where we don't want +10 deg. C in the room when it is turned on and we don't want much noise either. Most often single precision computations are sufficient for this use case.
- Laptop where the important thing is to be able to develop Jacket code on the move. This is for single precision computations entirely.
I will try to give examples for the different cases in the following sections. First I will give some general recommendations, which I believe should be considered no matter what computer/GPU type we are looking for.
General Issues
- Ensure that you have as least as many CPU cores as GPU cores. For a setup with 1 display GPU and 3 computational GPUs I have very good experience with using a quad core CPU. I can easily work while the computational GPUs are kept busy.
- As always you can never have too much memory - and that goes for both CPU and GPU memory. You must have at least as much CPU memory as the total amount of computational GPU memory you have. In reality you also need more than that since MATLAB will typically use more memory than this and we also need some memory for the operating system and whatever you want to do while computing on the GPUs.
- For all computers best and most reliable execution is achieved when using one GPU specifically for driving the display and other GPU(s) are used for computations. If the display GPU is also used for computations then reduce the display resolution as much as possible to free as much memory for computations as possible.
Go Home: Torben's Corner