#include #include #include #include #include int main(int argc, char **argv) { double *block, maxval = 0; int blockSize=8388608*8, numBlocks=200, i, j, iblock; block = (double *)memalign(32, blockSize*sizeof(double)); memset(block, 0, blockSize*sizeof(double)); for(iblock = 0; iblock < numBlocks; iblock++) { //#pragma omp simd for(j = 0; j < blockSize; j++) { double dj = (double)j; block[j] += j*j*j/1.e12; } } for(i = 0; i < blockSize; i++) if(block[i] > maxval) maxval = sin(block[i]); printf("maximum element is %f\n", maxval); return 0; }