NVIDIAs toolkits (cf., e.g., Ref. ) for the development of CUDA®-based software contain, among many other things, example code for an extended version  of the original MCA . Here, we compare the performance of this code with our CUDA®- and ANSI-C-based implementation of VESTA  on a Linux-based (i.e., openSUSE ) PC with a GeForce GTX Ti graphics card.
In particular, the times that we have measured (cf., Table 1) are averages over runs each. The measurements start after the data sets have been loaded into texture memory, and they stop after all point coordinates and triplets of point IDs (i.e., triangles) have been computed on the GPU.
|Technique||Extended MCA||Marching VESTA|
|Mode||DCED / L||DCED / L||Mixed / H|
For the here considered data sets [1, 4, 5], the extended MCA is about (a) , (b) , (c) , (d) , and (e) , slower than the marching variant of VESTA , when the latter is executed in its low resolution “disconnect” mode (DCED/L). Furthermore, VESTA is also faster even if higher resolution isosurfaces are computed (cf., Fig. 1), which have about twice the number of triangles (cf., Table 1).
Note that the current code implementation of VESTA does not yet use parallel streaming, nor it does call device kernels from within kernels. As a consequence, further GPU-based code optimisations may result in an even faster VESTA code.
-  NVIDIA® CUDA® Toolkit 6.5; for more detail, cf., https:// developer.nvidia.com/cuda-toolkit/
-  P. Bourke, “Polygonising a scalar field”, May 1994; for more detail, cf., http://paulbourke.net/geometry/polygonise/
-  W. E. Lorenzen and H. E. Cline, “Marching Cubes: A High Resolution 3D Surface Construction Algorithm”, Comput. Graph. 21 (1987), p. 163.
-  B. R. Schlei, “Volume-Enclosing Surface Extraction”, Computers & Graphics 36 (2012) p. 111, doi: 10.1016/j.cag.2011. 12.008.
-  http://graphics.stanford.edu/software/volfill/