Hardware Suggestions for Running ENVI / IDL
Exelis VIS is not able to provide in-depth advice on hardware purchases, because we do not have the resources to test the large variety of configurations that are possible. Also, hardware needs can vary a lot depending on the type of processing that is anticipated. However, the following article discusses items that should be considered when deciding on a system configuration.
Most image display and processing in ENVI/IDL can be designed to work with even minimal amounts of system RAM. But without implementing tiling in your code (assuming IDL only) it wouldn't be unexpected to need a lot of RAM to avoid running into memory allocation errors especially when working with large images. The systems used, for instance, in Exelis VIS Technical Support have 4-8 GB of RAM, which is adequate for most tasks. However, if there is an anticipation to work with large arrays of data, then more RAM should be considered. Keep in mind that when allocating memory for arrays, IDL requires a contiguous chunk of RAM. So, even if for example, 4 GB of RAM are available, it's not uncommon to be unable to allocate a chunk larger than several hundred MB at a given time.
If the implementation of sophisticated graphical displays is anticipated in building a custom application, then the more RAM the better. It is recommended to have at least 256 MB of Video RAM, especially when working with large images, or using IDL's shader support in object graphics. For optimal performance on ENVI 5, the video card should have a minimum of 1 GB RAM and should support OpenGL 2.0 or later. Additionally, ENVI LiDAR requires video card support for version 9 of DirectX. Be sure to install the latest drivers for your video card for best operation.
IDL includes some multithreaded routines. This can allow for a significant performance boost in many processing tasks for operating system that have multiple processors. Keep in mind, though, that the performance boost will never scale exactly with the number of processors/cores. For example, two processors don't typically give performance that is twice as fast as one. That is because many processes, including File I/O are not multithreaded.
It is very hard to give any kind of recommendation here. It depends entirely on the type of workflow that is anticipated and the data that will be used. Within the technical support department most systems have 500 GB - 1 TB disks which is more than adequate for day-to-day use. But this certainly would not address the needs of a production facility processing large amounts of data on a daily basis.
64-bit versus 32-bit:
The advantage of 64-bit is that it can eliminate numerous memory allocation errors. If working with large arrays in IDL is expected or process intensive ENVI functions are envisioned, then a 64-bit operating system should be considered.
Hard drive access speed:
Faster hard drive access could help with operations that require reading from and writing to the hard drive.
Please keep in mind these are suggested areas to look at when considering an operating system and as such are not an official recommendation nor endorsement by Exelis VIS or its employees.
Updated: 4/28/2015 kk; reviewed JU, MM