This article explores some of the hardware considerations when configuring a system for use with arivis Pro (Vision4D).
Computers intended for use with Vision4D should have:
- More CPU cores rather than higher clock speeds
- Lots of fast storage (preferably with a disk or disk partition dedicated entirely to temporary documents)
- A dedicated GPU; NVIDIA cards are preferable for Machine Learning/Deep Learning (AI applications)
- 64 GB of RAM is more than enough for most applications, more is better but favor SSD storage over RAM if working on a budget
arivis Vision4D has been built from the ground up for the visualization and processing of very large datasets while being RAM independent. This, consequently, has a significant effect on how the software is implemented and affects how we deal with the most common bottlenecks in computing.
Because CPUs are generally limited by their clock speeds, a common workaround for this limitation is to use parallelization. Not all processes can be parallelized, but what can be parallelized generally has been in Vision4D. Therefore, a computer with more cores is generally preferable to a computer with a higher clock rate. Buying computers with 2 or more multi-core CPUs can be a more cost-effective way to increase your core count than buying a single CPU with more cores. However, CPU speed and core count may also be limited by memory usage.
We recommend a minimum of 4 CPU cores (though Vision4D will work with fewer if that is what is available), but 8 or more cores are preferable for most image analysis operations.
Generally speaking, everything that needs to go through the CPU must first be transferred to the RAM. Furthermore, the results of any CPU processing will also typically be stored in RAM, at least temporarily. This means that you generally need twice as much RAM as the data you are trying to process.
Vision4D has been designed to work around this limitation by using blocking, and temporary documents.
Blocking involves just-in-time loading of portions of the dataset within the available RAM so that it is never necessary to hold the whole dataset in RAM. This means that arivis Vision4D can process multi-terabyte-sized datasets on a computer with no more than 16GB of RAM or even less.
Having stated this, Vision4D will use whatever memory is available, and having more RAM may speed up some RAM-intensive processes (e.g. segmentation of very large complex objects).
But the other implication is that if we are not holding the whole data in RAM, we need to create temporary documents on the hard disk to store the result of image processing operations which affects how much storage you will need.
Because of this architecture, Vision4D will allow you to process datasets larger than 500 GB with as little as 4 GB of RAM, but we recommend a minimum of 8 GB while 16 GB is preferable. As RAM gets a lot more expensive the more you add and Vision4D is not dependent on RAM availability to such an extent, we do not typically recommend that you buy more than 128 GB of RAM, except for systems intended for multi-user concurrent usage. We generally recommend 8 GB of RAM per CPU computing core.
Local storage is key to arivis Vision4D's performance. Through extensive use of Just-in-Time loading and temporary documents, Vision4D relies heavily on local storage. In many ways, more so than it relies on RAM. Therefore, it's important to have plenty of local storage, both to store documents locally while working with them to enable fast just-in-time loading, and to allow for the creation of temporary documents to store the results of any image processing operations.
Using fast solid-state drives (SSDs) can provide marginal gain improvements for many read/write-intensive applications, but generally getting more storage is preferable to buying faster storage. We generally recommend having at least 5x as much free disk space as the documents you are trying to process.
Buying RAID storage where multiple relatively slow spinning disk drives run in parallel to increase speed and reliability can be a more cost-effective way to add a lot of fast storage.
Network-based or removable storage is generally not recommended due to the possibility that the connection may be intermittent, and the overheads in data transfer under such conditions can lead to significant slow-downs in performance.
Graphics cards are essential to 3D and 4D visualization. Because of the high demands that Vision4D places on such hardware for 3D rendering there are a few things to bear in mind.
Typically, integrated graphics are generally not recommended. Computers without a dedicated GPU commonly use these integrated graphics as a low-cost and low-power consumption alternative to dedicated cards but make several sacrifices in the process that can prevent the 4D Viewer from working optimally, or even at all in some cases. Aside from integrated graphics, there are not many GPUs that we do not recommend, but the following considerations may make your choice easier.
First, arivis Vision4D requires OpenGL 4.3 support or higher. Most GPUs made after 2012 support it, but more recent GPUs are almost certain to provide significantly better performance. In any case, it is usually a good idea to ensure the graphics card drivers are up to date.
Second, gaming GPUs generally provide a much better price/performance balance (EUR 800 for a high-end gaming GPU Vs EUR 4500 for an equivalent Professional card). But "Pro" cards do offer some features that can be useful depending on your usage.
For example, gaming cards often do not provide good levels of support for use with Remote Desktop Protocols or Virtual Machines. Some specialized drivers may be available for some cards, but generally using 3D rendering over RDP is not recommended. However, since having access to a machine with enough local storage for processing very large data may only be possible with server-style machines that aren't typically well suited to an office environment, using RDP or VMs in such cases is a preferable compromise. If that is your case, we recommend Pro Server cards because they provide better support for shared usage.
Also, Pro cards often add features that we cannot make use of that are intended specifically for industrial CAD applications. This adds a lot of cost for few benefits that arivis Vision4D can actually leverage. However, Pro cards can also typically be configured with a lot more video memory, and while we typically won't use this additional memory for pure 3D visualization and navigation since it would most likely be beyond the capabilities of the GPU to handle such amounts of data smoothly for these applications, the extra memory can be useful to speed up the rendering of high-resolution snapshots and animations of large datasets, and machine learning tasks.
Finally, NVIDIA pro graphics cards (Quadro series) generally offer better CUDA performance which can be used in Machine Learning applications (see below).
For general usage, a mid-range gaming GPU will prove more than adequate. However, for highly demanding applications like VR we recommend a minimum of RTX 2080 Ti or better.
AI-assisted analysis: Machine Learning & Deep Learning
Vision4D can make use of Machine Learning (ML) and Deep Learning (DL) for various analysis tasks, from image enhancements to segmentation and object classification. ML and DL can both be significantly accelerated by using the GPU to compute the results. Some tasks, especially when using DL networks, are only practically feasible when using a compatible GPU. When installing Vision4D, users are prompted to install the ML GPU acceleration package, and if planning to use ML or DL algorithms this is highly recommended. Note that this package is built to use CUDA libraries provided by NVIDIA and so using an NVIDIA GPU is highly recommended for these tasks. If ML or DL is likely to be a significant part of the image analysis workflow then prioritizing the number of CUDA cores in the GPU is an important consideration.
Note that both ML and DL tasks will run on the CPU if no compatible GPU can be found, but using a compatible GPU is much preferable for these tasks.
Also, especially in the case of DL, training networks is very computationally intensive and this aspect benefits the most from GPU acceleration. For DL training a GPU with support for CUDA Compute of version 5.2 or higher is the minimum recommended for this task. (Note: Local DL training requires an additional AI module)
Vision4D is a program for Windows 64-bit operating systems. There is no MacOS or Linux version. Please have a look at this article for more information on running Vision4D on Apple hardware. The minimum requirement for support is Windows 10. The software may work partially on earlier versions, but note that these are not supported configurations.
Also, while the low memory requirements of Vision4D make it theoretically capable of processing large datasets in 32-bit environments, the high cost of maintenance of two separate builds of the software and the relative scarcity of 32-bit systems means we no longer offer a 32-bit version.
So, which hardware configuration should you choose?
The computer you already have, as long as it runs Windows 10 or better, has 100GB or more of free hard disk space, and has a dedicated GPU that supports OpenGL 4.3 will probably be fine for most image analysis tasks and visualization. But if you want to buy a new machine dedicated to arivis Vision4D then the following recommendations are useful guidelines.
Also, please see this article for recommendations regarding licensing options.
Minimum requirements (e.g. notebook configuration)
- Windows 10 Pro 64-bit
- 4-Core x86-compatible CPU
- 8 GB RAM (16 GB recommended)
- GPU with support for OpenGL 4.3 or above and 2 GB of VRAM (e.g. NVidia GeForce 1050 / ATI Radeon RX560)
- 100 GB spare local storage
Recommended system specifications
Single users with datasets typically up to 500GB datasets
- 8-Core CPU or better (e.g. Intel Core i7-10870H or AMD Ryzen 7 Pro 3700)
- 32 GB RAM
- 1 TB M.2 SSD for OS and temporary documents
- 2 TB HD for storage
- NVIDIA RTX 2080 Ti / AMD Radeon RX Vega 64 or better graphics
Single user with datasets frequently larger than 500GB
- 24-Core CPU or better (e.g. Intel Xeon Gold 6212U or AMD Ryzen Threadripper 3960X)
- 128 GB RAM
- 1 x 512 GB SSD for OS and documents
- 1 x 2 TB M.2 SSD for temporary document storage
- 8 TB + RAID for storage
- NVIDIA TITAN RTX / AMD Radeon VII or better
Multiple concurrent users with individual workstations, typically up to 500GB datasets
- As above for single users with small datasets
- soft floating license (recommended at least 1 license per 5 users depending on usage)
- local network or VPN
Multiple concurrent users with datasets frequently larger than 500GB
- ACQUIFER™ HIVE® with 8 TB+ RAID storage and GPU module or equivalent
- Network storage for permanent storage of datasets not currently in use
- soft floating license (recommended at least 1 license per 5 users depending on usage)
- local network or VPN