This article explores some of the hardware considerations when configuring a system for use with arivis Pro.
This article explores some of the hardware considerations when configuring a system for use with arivis Pro.
Computers intended for use with arivis Pro should have:
arivis Pro 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 arivis Pro. 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 it 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.
arivis Pro 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 Pro can process multi-terabyte-sized datasets on a computer with as little as 16GB of RAM or even less.
Having stated this, arivis Pro will use whatever memory is available, and having more RAM may speed up some RAM-intensive processes (e.g. segmentation and processing of very large complex objects).
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 we will need.
Because of this architecture, arivis Pro 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 the Software 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.
Graphics cards are essential to 3D and 4D visualization, highly recommend or for Machine Learning, and necessary for Deep Learning. Because of the high demands that arivis Pro places on such hardware for 3D rendering and ML/DL there are a few things to bear in mind.
First, purely for 3D rendering arivis requires GPUs that support OpenGL 4.6 and above. Most GPUs released after 2017 should meet this requirement, with some exception for integrated graphics.
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 for 3D visualisation.
Secondly, the other thing that arivis uses GPUs for is to accelerate Machine Learning and Deep Learning tasks. This acceleraration uses NVIDIA CUDA libraries and so only NVIDIA GPUs are supported for ML and DL. Also, a minimum of 8GB of video memory (VRAM) is required.
Finally, when it comes to recommendations for specific GPUs, since this is a highly dynamic environment with multiple specs available, we do not recommend any specific specification or manufacturers, but the following points may make your decision easier.
First, as mentioned above, we require NVDIA GPUs with at least 8GB of VRAM as a minimum requirement for DL and this is a good starting point for choosing a GPU. even if you do not intend to use ML and DL in the immediate future, having these specifications will minimize the chances that a hardware change will be required if the analysis requirements change.
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). In most cases the price difference will not be reflected in a noticeable improvement in performance for either visualisation of ML Tasks. 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 Pro 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 for ML/DL tasks.
For basic 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.
arivis Pro 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 Installing arivis Pro on Apple hardware. The minimum requirement for support is Windows 10, but Windows 11 is also supported. The software may work partially on earlier versions, but note that these are not supported configurations.
Also, while the low memory requirements of arivis Pro 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.
The application note purpose is to guide the user in performing a license activation procedure.
ZEISS arivis products, including ZEISS arivis Pro (formerly arivis Vision4D) and ZEISS arivis Pro VR (formerly arivis VisionVR) are protected from unauthorised usage using a licensing system. This licensing system limits the features available to the user, the number of users who can use a license simultaneously, what updates can be applied, and how the license can be accessed.
The licenses can come as either "Soft" licenses based on physical characteristics of a computer, or "Hard" license tied to a USB "dongle". The licenses can also be fixed, where only the machine where the license resides can use it, or floating, where the license resides on a license server and is then distributed out to clients on the network.
Hard licenses do not normally require activation, but soft licenses do.
This article describes how to:
If the license is tied to a dongle, activation is not required. If experiencing problems with a hard license, please check our article HASP License Troubleshooting.
If the license is tied to a PC (soft license), a product activation key is normally sent to the license purchaser along with download links for the software installation. Once the software is installed the license can be activated using the key provided on as many machines as the key has been licensed for.
Note that in the case of multiple user server/floating licenses, activation is only required once on the server machine.
There is no need to activate for each user. Please check this article for further information on configuring server licenses.
The software activation requires a connection to the licensing server hosted by ZEISS arivis and therefore also requires an internet connection. Since not all computers are connected to the internet, alternative methods of license activation are available.
The simplest way to activate a soft license is through the online license activation process. This online activation is prompted automatically if no license is detected when starting the software:
In that case, simply click on the link to License tool. This will open the arivis License tool where you can proceed with the rest of the activation procedure. Alternatively, you can open the License Tool as described below.
Once open, click on the Online Activation button and, when prompted, enter your product key.
Then click Activate. Typically, within a couple of seconds, your license will be activated and a message will appear to confirm that this is so. You can then start using your license by launching the software.
In some cases the computer where you want to activate the license may not be connected to the internet or the connection may be restricted by a firewall and offline activation may be required. This will require:
In such cases, start the activation tool on the computer where you want to install the license as before, but then click on the + sign to show more options:
Then click on Manual Activation.
Offline activation is a 3 step process where we must:
Click on Create Fingerprint to start the process and you will be prompted to select a location where to save the fingerprint (C2V file). Make sure to make a note of the saving location so you can find it later.
Then, transfer the C2V file to a computer with internet access where the License tool is installed (see Installing the license tool). Open the License Tool and click the + sign to see more options. Click on Manual Activation, but this time, click on Request License Online.
As with the online activation, your license file will typically be created within a couple of seconds and a prompt will appear to confirm that this is so.
Finally, transfer the V2C file that was created in this last step back to the computer where the software is installed. Open the License tool, click the + sign to see more options, and click on Manual Activation. Click on Install License and browse to the V2C file you have just transferred.
Once this process is complete you can start using the software.
If the License Tool was installed as part of an arivis installation, the easiest way to access it through the Windows Start menu > Search tool:
Alternatively, it can also be accessed through the Help menu.
If the software can't be opened because of licensing issues, or if trying to access the License Tool on a computer where Vision4D/arivis Pro is not installed (e.g. server machine), it can be accessed by navigating to the application within the Windows Explorer.
If the License Tool was downloaded independently it can be found wherever the ZIP download was extracted. Otherwise it can be found in the software installation path (typically C:\Program Files\arivis Vision4D\LicenseTool\arivisLicensing.exe).
Once opened, the License Tool should look something like this:
Since the license is locked to specific hardware, the process of transferring a license depends on the type of license you have.
If you are using a dongle, all you need to do is unplug the key from the computer where it is no longer needed and plug it into the one where it is. When you start the software it will look for this key and provided the version number is allowed will start. See HASP License Troubleshooting article if you have any problems with this.
In the case of soft licenses, it's a little more complicated and you will need to use the License tool and some way to transfer files from between the computers where the license will be installed and where it will be activated (e.g. USB storage device).
Open the License Tool on the computer where you want to install the license to start a 3-step process that will:
Start by installing the software and License Tool on the destination computer if not yet installed, then open the License Tool.
Click the + sign for more options and click on Transfer License.
Then, click on Prepare for License Transfer.
You will be prompted to select where to save the ID file for your computer. Make a note of the saving location and then transfer this file to the computer where the license is currently installed.
Open the License Tool on the computer where the license is currently installed, click the + sign for more options and click Transfer License.
Select the license to be transferred from the list of available licenses and then Select.. to load the ID file created previously. Click Transfer to create the new license key that can be transferred to the destination computer (H2H file).
Finally, copy the H2H file over to the destination computer, open the License Tool, and again go to Transfer License. Click Install License and select the H2H file that was just transferred.
Most license related functions can be managed through the arivis Licensing Tool. If your questions have not been addressed by this article, start by checking our other HASP related resources, like HASP License Troubleshooting article, or create a support ticket.
This article provides background, download links and installation instructions for the stand-alone GPU package installation.
With the release of Vision4D 3.6, arivis added the ability to use Deep Learning (DL) inference for segmentation of images. This can significantly improve the accuracy of segmentation of complex structures in a range of applications and images.
To optimize the DL operations we use the ONNX runtime libraries. These can be used with both GPU and CPU, but using the GPU to run these operations can dramatically improve the speed of processing. However, the GPU libraries are quite large (600MB) and only compatible with NVIDIA GPUs. Since not all users will require this, either because they have no need for DL or no compatible GPU, we do not include the GPU package as part of the Vision4D installation files and instead download it on request during the installation process.
Once the GPU packages have been installed, the option to use the GPU for ML acceleration will appear in the application preferences:
Note that this option may remain greyed out if the GPU drivers that are currently installed are not compatible. In that case, the user should update the drivers and restart the system. Once this option is enabled the software will default to using the GPU for any ML operation.
This package makes use of CUDA, a proprietary technology available on NVIDIA GPUs. Please see this Wikipedia article or consult the NVIDIA documentation to find out if your GPU is supported.
Considerations when installing and using arivis products with virtual machines.
arivis software products are protected from unauthorized use by a licensing system provided by a third-party provider. This licensing system allows institutions who purchase licenses to protect their asset, and us as software vendors from the illegal distribution of our products. Licensing works by locking the software to a specific piece of hardware, typically a computer or dongle.
In the case of a hard key, the license is effectively located on a USB dongle, and whichever machine has the key plugged in is able to read the license and make it available to users.
In the case of soft licenses, the key is activated on a computer by making a digital fingerprint of the machine on which it is activated and locking the activation to this fingerprint.
This is important when using a virtual machine. If you have a dongle, the dongle must be visible to the virtual machine. If you are using a soft key, changes to the virtual machine, such as copying it to a new computer, will change the VM's fingerprint and irreversibly invalidate the license. Therefore, if you activate a soft license on a VM, you MUST deactivate the license prior to making any changes to the VM and reactivate once the changes are completed. Failure to do this will invalidate the license and support related to License invalidation due to VM changes are not covered by warranty or maintenance and may be chargeable.
Please see the article Activating, updating and transferring licenses to find out more about activating and transferring licenses.
arivis Pro makes extensive use of just-in-time loading to enable the software to be RAM independent. This means that for efficient processing the data should, as much as possible, be located as close the RAM and CPU as possible. VMs add an additional layer of separation between the physical hardware on which the data is stored and where it is processed and may therefore slow down read and write operations. The same holds for network storage.
VMs are, of course, very handy in a range of scenarios. Indeed, the arivis development team does use VMs extensively for testing in-house for these very reasons. However, users should be aware of the distinct differences in how VMs operate to ensure that they have a great user experience. arivis is keen to support users in whatever environment they find most useful to them, and making users aware of the consequences of running in such an environment is part of what the support team can do to ensure a great user experience.
The arivis support team will always try to help users if they are experiencing issues linked to VMs, but you should be aware that our ability to support will be limited by your configuration, and issues caused by user error may not be covered by maintenance agreements and may therefore be chargeable.
The purpose of this application note is to provide information on how to run arivis Vision4D on an Amazon AWS EC2 Virtual Machine.
Running arivis Vision4D on an AWS instance requires the same considerations that arise when you want to use arivis Vision4D on an on-premises virtual machine:
Please refer to the general System Requirements first.
Use the Amazon EC2 console to launch a Windows instance. Choose a suitable Amazon Machine Image (AMI), e.g. a Windows Server 2019 Base (or later). From the Instance type list, you can select the hardware configuration for your instance.
To be able to use 3D graphics a graphics capable type should be selected. We recommend a G5 instance (or later). Amazon EC2 G5 instances are NVIDIA GPU-based instances that can be used for a wide range of graphics-intensive and machine learning use cases. Most important: G5 instances offer NVIDIA RTX Enterprise drivers at no additional cost to provide high quality 3D workstations.
Please note: we don’t recommend the use of Amazon Elastic Graphics. Even if arivis Vision4D could work with it in theory, it is very slow and unstable. If you want to store large data in the VM, a correspondingly large disk should be provided, e.g. an Amazon Elastic Block Store (Amazon EBS) volume.
Launch your instance as usual. Make sure that the security group allows to connect using Remote Desktop (TCP port 3389). To connect to the running instance, you must retrieve the initial administrator password and then enter this password when you connect to your instance using Remote Desktop.
Download and run the latest arivis Vision4D installer from: https://www.arivis.com/download/arivisVision4D/latest
At the first start the application reports that a license is missing. Use the provided arivis License Tool to activate with your product key.
Please be aware of some potential problems with using software licenses in combination with virtual machines. If you want to use V4D on different VMs or change the configuration of the VM frequently, a dedicated license VM in combination with a floating license might be more suitable. To read more about this topic please refer to arivis Network License setup.
To improve the performance of the remote connection to the AWS instance an optional NICE DCV server/client can be installed.
NICE DCV is a remote visualization technology that you can use to connect securely to graphic-intensive 3D applications hosted on remote servers. With NICE DCV, you can bring high-performance processing capabilities to remote users through secure client sessions.
There is no additional charge for using the NICE DCV server on an Amazon EC2 instance.
Download and install the NICE DCV server installer from the NICE DCV website. Make sure that the security group allows to connect using NICE DCV (TCP/UDP port 8443).
Use the client for your operation system from the NICE DCV website to connect to the AWS instance using NICE DCV.
This article highlights some considerations when using Vision4D from a remote machine over RDP.
Generally, it is best to use Vision4D on a system that is local to the data storage. Since data storage of very large datasets can be challenging on standard desktop or laptop systems a common workaround is to use a high-end imaging workstation with lots of storage, and to access this workstation using Remote Desktop Protocol (RDP). However, these configurations have historically been problematic with regard to GPU utilization. This article aims to clarify some of those issues and provide solutions.
The use of Vision4D over RDP is also limited by the licensing system we use.
As of 2020, soft licenses are delivered with RDP enabled by default.
Licenses purchased earlier may be upgraded to enable RDP under certain circumstances. If you have a soft license but RDP is disabled, please contact support using the link at the top of this page.
If you have a Network license, hard or soft, RDP is on by default.
If you have a hard local license, these licenses can only be configured for RDP for arivis Vision4D 3.4 or above. Older versions of Vision4D do not support RDP with a hard local key. If RDP is necessary, please contact your local sales representative to discuss replacing your hard key for a soft key or any other options that might work for you.
While the configurations tested above work, remote desktop GPU support is mostly outside of arivis' control. However, there are a few things we recommend:
The purpose of this application note is to support you in installing arivis Vision4D on an Apple computer.
When using arivis and looking at the resource monitor, it appears that the software is not using all the CPU, RAM or GPU capabilities. This article aims to explain why this is so.
When arivis was started, the software was built on the principle that the file size should never be the issue. The main bottlenecks when it comes to processing large datasets are the CPU processing power, availability of RAM, availability of GPU processing. Each of these affects the ability to process images in different ways. When looking at the Task Manager at the usage of PC resources we may get the impression that arivis is not using all of the computer's resources. This article explains in more details why looking at the Task Manager doesn't tell the whole story and why arivis uses all the resources it needs.
Any data that the CPU processes must be held in the computer's Memory (usually shortened to RAM). But we also need enough RAM to hold the result of the operation, which means we need twice as much RAM as the data we are trying to process. Since RAM is very expensive and even most high-powered computers can't be configured with more than 512GB without going into much more expensive server machines, this would limits our ability to process datasets that are larger than the available RAM.
To better explain why RAM is important, let's consider the simple case of a Mean denoising filter.
Noise is a common problem in imaging, and a simple way to minimise the effect of noise is to consider the value of individual pixels within the context of their immediate neighbourhood.
If we look at this group of pixels:
The pixel in the center is clearly a lot brighter than most of the pixels around it. To soften the effect of noise we can look at each pixel in term, group it with the pixels immediately around it, and change its value to that of the mean of the group. If we do this for all the pixels in the image we've applied a Mean filter.
The way the computer processes this is to load these pixels together in the memory and we call this a kernel. We process the kernel, and store the mean value into the central pixel. However, if we were to modify the existing kernel we would affect how the next pixel is changed and the effect would compound throughout the image. Instead we write this pixel into a new image and we repeat the process for the whole image, loading each kernel and writing the output into a new pixel in the destination image.
Normally, the image we're working on is stored on the hard disk, and reading from a hard disk is slow compared to reading from the memory, so typically we would load the whole image in memory and then process each kernel one at a time, progressively building up the output image which we also keep in memory. This means we would need at least twice as much memory as the data we're trying to process, not including the memory required just for the computer to function.
However, as mentioned above, RAM is expensive compared to hard disk storage. RAM is typically 10x more expensive per GB compared to even a very fast SSD and 100x more expensive than spinning disk drives. If we want to process a 1TB dataset using traditional methods we would need 2TB of RAM which would cost 10s of thousands of euros, whereas we could store this dataset on a fast SSD for a few hundred euros instead.
To this end, arivis is built to process images in small blocks, one at a time, and stitching the results together into a temporary document that is stored on the hard disk. This is done while taking care to adequately handle block sizes and overlap to avoid running out of memory or affecting the accuracy of the processing operation.
Typically this results in arivis loading around 2GB of data into the RAM at a time, processing the information in that block, and writing the results to the hard disk.
Some processes, like image filtering, which use a pixel's neighbourhood to affect the results (e.g. denoising, morphological filters, filter based segmentation) will process the blocks with a margin of overlap between blocks equivalent to the radius of the filter to ensure that the results are not affected by the blocking process. Furthermore, we limit the size of most filtering kernels to a maximum diameter of 256 pixels so that we can process blocks that are small enough for most computers, without needing excessive double processing of the data on the edges of the blocks.
So when we look at the Task Manager while executing a pipeline, we might see the memory usage increase by about 2-4GB, and disk usage spikes every time we write the results of the current block and load the next one.
Note that if we look at the CPU core usage, some operations as so fast in the individual task that the refresh rate of the Task Manager window may only show 50% CPU usage. Typically, this means we are using 100% of the CPU, but only 50% of the time while we wait to load and unload data.
Note also that while arivis uses parallelisation wherever possible to speed up processing, not all computing tasks can be parallelised, and the Task Manager will reflect that by showing that on occasion only one core is active.
The Task Manager is a very useful feature of Windows operating systems, often allowing the users to identify applications that may be stuck or unresponsive, and gives clues as to what may be the cause of the issues. However, it is not necessarily a great way to measure system optimisation, partially because this tool was created prior to the development of many modern computing methods, and partly because if we wanted it to tell us the full story it would need most of the resources we are using it to monitor.
That is not to say that arivis software is perfectly optimised, and arivis software engineers are constantly working to improve the software performance. If you are concerned, as a user, that your system may not be working optimally, you should contact your local ZEISS arivis support representative who can help you identify any issues and suggest optimisations, or forward your feedback to our engineering team so that we can work towards a even better solution.