Probe Performance Optimization

Probing operations in AcuFieldView are designed to balance memory requirements against overall performance.

In this release, internal defaults have been changed to deliver higher performance at the cost of increased memory requirements, bringing this in line with the random access memory resources available on workstations today. Control has been provided to override the new default settings in the form of environment variables.

These changes are expected to dramatically improve performance for:
  • Point probe
  • Dataset sampling
  • Calculation (and changing scalars/vectors) for streamline and streaklines
  • Setting uniform vectors on Coordinate surfaces
  • Uniform sampled 2D line plots
  • Changing scalars on imported particle paths
  • Changing scalars on surface flows and vortex cores
  • XDB export of streaklines or particle paths
  • XDB export of surface flows and vortex cores
  • Seed a surface for streamlines (IJK)
  • FVX streamline seeding

    Figure 1.

Probe Performance Optimization

Results on a case study containing 100M cells, run on a system with 32GB random access memory, for dataset sampling are presented above. Three pairs of curves show the probe rate (top plot), and the memory cost and read-time cost (bottom plot). In the top plot, probing rates of over 300,000 probes per second can be achieved using a probe performance setting of five, with the control setting to save memory turned off (default). The memory usage required to obtain high probe rates increases substantially beyond a performance setting of three. The read-times for this particular case are less adversely affected as the probe performance setting is increased.

Control over probe performance is accomplished with two environment variables: FV_PROBE_PERFORMANCE and FV_PROBE_SAVE_MEM.

The environment variable FV_PROBE_PERFORMANCE can be set to an integer value ranging from one to five, and these values match the probe performance setting used in the case study. Prior to AcuFieldView 12.1, the internal default for FV_PROBE_PERFORMANCE was one. In this release, the default for this parameter depends on the installed random access memory for either your AcuFieldView client if you are reading your data in Direct Mode, or your AcuFieldView Server if you are reading your data using basic or parallel server.

If random access memory is up to 4GB and for 32-bit systems use 1 (same as previous default).

If random access memory is above 4GB and below 32 GB use 2.

If random access memory is above 32 GB use 3.

if random access memory is unknown use 1.

The environment variable FV_PROBE_SAVE_MEM reduces the memory needed to read the dataset in this case study by approximately 50 percent compared to the default of not having it set. However the performance gain is considerably more than 50 percent, particularly at lower FV_PROBE_PERFORMANCE settings.

DataGuide™ pre-processing files will be affected by this change. Existing DataGuide™ files will have been created with FV_PROBE_PERFORMANCE=1 and FV_PROBE_SAVE_MEM turned on. If DataGuide™ files are present, they will be used, overriding the probe performance environment variables. In this instance, the following message will be printed to the console: DataGuide file is an older version. You may be able to increase performance by rewriting your DataGuide files.

When new DataGuide™ files are created, they will be based on the setting for the probe performance environment variables at the time they were written.