int main(int argc, char *argv[]) { string dataSheetFileName(argv[1]); fstream dataSheet (dataSheetFileName); int iBlockSize, jBlockSize, kBlockSize, blockSize; // physical dataSheet >> iBlockSize >> jBlockSize >> kBlockSize; Capsule *cube = new Capsule(iBlockSize, jBlockSize, kBlockSize); for (int i = 0; i < iBlockSize; i++) { for (int j = 0; j < jBlockSize; j++) { for (int k = 0; k < kBlockSize; k++) { int zID = cube->mortonIndex(i, j, k); dataSheet >> cube->b_block[zID]; } } } /* for (int i = 0; i < iBlockSize; i++) { for (int j = 0; j < jBlockSize; j++) { for (int k = 0; k < kBlockSize; k++) { int zID = i * cube->iPadBlockSize * cube->jPadBlockSize + j * cube->kPadBlockSize + k; // cout << i << "\t" << j << "\t" << k << "\t" << zID << endl; dataSheet >> cube->b_block[zID]; } } } */ int subCubeSize = atoi(argv[2]); int t0 = clock(); cube->GS_block_interior_update_009(1, subCubeSize); // cube->GS_Regular_block_update_02(subCubeSize); // cube->GS_Z_block_update_02(subCubeSize); int t1 = clock(); // cout << endl; // cout << cube->padBlockSize << endl; // cout << oct << cube->iMask<< endl; // cout << cube->jMask<< endl; // cout << cube->kMask<< endl; // // cout << cube->i_interleave.size() << endl; // cout << cube->j_interleave.size() << endl; // cout << cube->k_interleave.size() << endl; double t = 1.0 * (t1-t0) / CLOCKS_PER_SEC; cout << "Time Elapsed, " <<subCubeSize << "," << t << endl; delete cube; dataSheet.close(); return 0; }