void main(){ float *x,*y, *temp_x, *temp_y, *alpha, *temp_alpha; // int size_x=50; // int size_y=10; int size_x=1600; int size_y=800; if( NULL == (x = memalign(16, sizeof(float)*size_x))){ printf("\nfailed for x\n"); exit(1); } if(NULL == ( y = memalign(16, sizeof(float)*size_y))){ printf("\nfailed for y\n"); free(x); exit(1); } if(NULL == (alpha = memalign(16, sizeof(float)*4))){ printf("\nfailed for alpha\n"); free(x); free(y); exit(1); } int i; //fill up arrays for(i=0; i < size_x; i++){ x[i]= (float)(i*1000); } for(i=0; i < size_y; i++){ y[i]= (float)(i*1000); } for(i=0; i <4; i++){ alpha[i]=(float)1; } print_arrays(x, size_x, y, size_y, alpha,1); //warmup_scalar(x, y, size_y, alpha); warmup_vector(x, y, size_y, alpha); print_arrays(x, size_x, y, size_y, alpha,1); free(x); free(y); free(alpha); }
int main() { float cel[N], far[N]; init_array(cel, N); cel2far(cel, far, N); print_arrays(cel, far, N); system("pause"); return 0; }
void *pthreads_each(void *rank_ptr) { uint32_t rank; #if !defined(DEBUG) uint32_t bytes_transferred; #endif #if defined(PAPI_ENABLED) && !defined(DEBUG) int num_sets; PAPI_event_set_wrapper_t* event_sets; papi_filter_events(desired_events, num_desired, &event_sets, &num_sets); #endif rank = *((uint32_t *) rank_ptr); #if defined(AFFINITY_ENABLED) Affinity_Bind_Thread(rank); Affinity_Bind_Memory(rank); #endif #if defined(DEBUG) init_arrays(rank); barrier_wait(&my_barrier, rank); stream_per_thread[read_arrays_case][write_arrays_case][write_type_case][load_type_case][loop_unroll_case][prefetch_distance_case](rank); barrier_wait(&my_barrier, rank); if (rank == 0) { print_arrays(); } #else TIMER_MAKE_MEASUREMENTS(stream_per_thread[read_arrays_case][write_arrays_case][write_type_case][load_type_case][loop_unroll_case][prefetch_distance_case](rank), results, rank, NUM_TRIALS); if (rank == 0) { printf("TIME (IN SECONDS)\n"); print_max_timer_measurements(results, numThreads, NUM_TRIALS, median_counts_per_sec); printf("\nBANDWIDTH (IN GB/S, WHERE 1 GB/S = 10^9 B/S)\n"); bytes_transferred = 0; if (write_type_case == 0) { bytes_transferred = (numReadArraysPerThread + 2*numWriteArraysPerThread) * (numThreads * threadArrayLength * NUM_BYTES_PER_DOUBLE); } else if (write_type_case == 1) { bytes_transferred = (numReadArraysPerThread + numWriteArraysPerThread) * (numThreads * threadArrayLength * NUM_BYTES_PER_DOUBLE); } print_bandwidth_measurements(results, bytes_transferred, numThreads, NUM_TRIALS, median_counts_per_sec); printf("\n\n"); } #endif pthread_exit((void*) 0); }
int main() { int idx, bound, temp; bound = 16; populate_arrays(); print_arrays(); bound = 16; idx = 0; while (idx < bound - 1) { if (array_1[idx] > array_1[idx + 1]) { temp = array_1[idx]; array_1[idx] = array_1[idx + 1]; array_1[idx + 1] = temp; idx = 0; continue; } idx = idx + 1; } idx = 0; while (idx < bound - 1) { if (array_2[idx] > array_2[idx + 1]) { temp = array_2[idx]; array_2[idx] = array_2[idx + 1]; array_2[idx + 1] = temp; idx = 0; continue; } idx = idx + 1; } idx = 0; while (idx < bound - 1) { if (array_3[idx] > array_3[idx + 1]) { temp = array_1[idx]; array_3[idx] = array_3[idx + 1]; array_3[idx + 1] = temp; idx = 0; continue; } idx = idx + 1; } idx = 0; while (idx < bound - 1) { if (array_4[idx] > array_4[idx + 1]) { temp = array_4[idx]; array_4[idx] = array_4[idx + 1]; array_4[idx + 1] = temp; idx = 0; continue; } idx = idx + 1; } print_arrays(); }