Hardware tips¶
While embedded cameras on their own have a relatively low demand for hardware their multiplexing can pose certain requirements for the computer part of the application.
Below you can find certain tips in this regard.
PC setup¶
Basically, most of the newer computer systems should work as long as you have 8 lanes of PCIe interface available to receive a stream from several cameras.
Typically, the more powerful i7 (8th or 9th generation), Xeon processors, or the AMD Ryzen Threadripper should be able to handle the data.
With Ryzen it is best to use Zen2 because Zen and Zen+ could require fine-tuning of the BIOS in order to get the necessary bandwidth from the cameras.
Motherboards for these processors usually come with 2 or 3 x16 lane slots, which could be used for the interface host adapter.
The host adapters are actually x8 lanes (unless a dual port model is chosen) so there should be more than enough throughput.
Securing a large amount of RAM will help to buffer longer sequences from the camera/s at the maximum speed.
For direct storage to non-volatile memory, a RAID array of SSDs (or better NVMe drives) should be used.
The rest will depend on the way the application is meant to handle and process the image data.
For example, it is possible to process the data on a GPU using CUDA or OpenCL, in which case a graphics card/s should be added.
If the plan is to use the directGPU capabilities of the camera (moving data directly to the GPU), the use of Linux is needed (Windows will not allow this) including the use of a Quadro or Tesla GPU from NVIDIA.