Restructured the library to complete d,c,s,z version of most routines.
Separated mat/sp/cell from lib into math folder.
Fixed ncpa handling
NGS WFS defaults to 4x4 instead of 2x2. 2x2 has performance issue when the pixel is small.
Cleaning up cuda folder.
Fixed bug in partial atmosphere in GPU.
All data used in GPU are preallocated before first time step. Memory usage in GPU should now be
constant.
All cudaMalloc are encapsulated by DO() to capture errors.
use static class members for arrays that are shared for multiple GPUs.
Improved reduction method in calc_ngsmod_do, mtche_do, cuztilt_do.
Speed is improved to 0.3s per time step with 8 GPUs.
Various fixes.