Reorganization
Better OpenMP use
Added GPU acceleration