-
David E. DeMarle authored
With this change a select few vtkObjects, including vtkBuffers, vtkDataArrays, and common vtkDataSets can optionally be constructed within in a potentially large memory space provided by Memkind. Memkind provides memory mapped buffers over any file system, but ideally one mounted -o dax and backed by fast non-volatile memory hardware like Optane. Applications set the specific location early on via vtkObjectBase::SetMemkindDirectoryi(). To try it, turn on the new VTK_USE_MEMKIND cmake configuration option and provide a path to link libmemkind. The option turns on the new and very experimental code paths. Memkind, and thus the option are only available under Linux. In user code, to create vtkObjects in the extended space call the ::ExtendedNew() function rather than the typical ::New() function. The TestMemkind test demonstrates and exercises the feature. The implementation is that ExtendedNew() turns on a static flag vtkObjectBase::UsingMemkind, that forces construc...
9df08a7e