15. The HyperDrive Technology

HyperDrive is a core library including several time-critical functions required by VEGA ZZ for high speed computing. The incredible computational speed is due to the linear and parallel code specially designed for the modern CPUs.

The key features are:

The HyperDrive requires an initialization phase that is executed by the host application when it starts. The host application can choose the appropriate HyperDrive version for the installed microprocessor and the HyperDrive detects the number of CPUs switching itself to run in sequential mode (one CPU) or in parallel mode (more than one CPU):

 

 HyperDrive initialization

 

After the initialization phase, the host application can call the HyperDrive functions in transparent mode as a normal library: the HyperDrive library select internally the most appropriate code for that hardware/software system and if it has got more than one CPU (real or virtual as the CPUs with the Hyper Threading) the code is parallel executed:

 

HyperDrive parallelism

 

The HyperDrive library includes high, middle and low level functions:

High    
  • Dotted surface calculation.
  • 3D scalar field management for isosurface calculations.
  • Calculation of molecular properties (ILM, MEP, MLP, PSA, etc).
  • RLE compression/decompression.
  • Base 64 encoder/decoder.
  • 128 bit encryption/decryption.
Middle
  • Atoms and bonds.
  • Surface management.
  • Connectivity builder.
  • Topological matrix routines.
  • Ring finder.
  • License management.
  • Force field parameter routines for MM/MD energy evaluation.
  • Fast Fourier transformation.
  • CRC16 and CRC32 calculation.
Low
  • Memory lists.
  • Memory management.
  • Multithreading (threads, mutex, semaphore and CPU detection).