int result_method_file(xmlrpc_env *envP, xmlrpc_value *s, const char *member, const char *fname) { if (s) { xmlrpc_value *file = NULL; xmlrpc_struct_find_value(envP, s, member, &file); if (file) return file_dump(envP, file, fname); else fprintf(stderr, "oracc-client: result_method_file: %s not found\n", member); } return 0; }
static void tcbd_test_memory_io(struct tcbd_device *_device) { s32 ret = 0; static u8 tmp_buffer[SIZE_TEST_BUFFER]; memset(tmp_buffer, 0, SIZE_TEST_BUFFER); tcbd_change_memory_view(_device, EP_RAM0_RAM1); ret = tcbd_mem_write(_device, CODE_MEM_BASE, test_buffer, SIZE_TEST_BUFFER); if (ret < 0) { tcbd_debug(DEBUG_ERROR, "memory write failed %d\n", (int)ret); goto exit_test; } ret = tcbd_mem_read(_device, CODE_MEM_BASE, tmp_buffer, SIZE_TEST_BUFFER); if (ret < 0) { tcbd_debug(DEBUG_ERROR, "memory read failed %d\n", (int)ret); goto exit_test; } #ifdef DEBUG_DUMP_FILE file_dump(test_buffer, SIZE_TEST_BUFFER, "/mnt/sdcard/tflash/org.bin"); file_dump(tmp_buffer, SIZE_TEST_BUFFER, "/mnt/sdcard/tflash/read.bin"); #endif if (memcmp(tmp_buffer, test_buffer, SIZE_TEST_BUFFER)) goto exit_test; tcbd_debug(DEBUG_ERROR, "Memory Read/Write test succeed!\n"); return; exit_test: tcbd_debug(DEBUG_ERROR, "Memory Read/Write test failed!\n"); }
float jacobi(int nn) { int i,j,k,n; float gosa,wgosa,s0,ss; double s, cpu, com; for(n=0 ; n<nn ; ++n){ gosa = 0.0; wgosa= 0.0; // if (id == 0)fprintf(stderr, "%d: nn:%d, imax:%d, jmax:%d, kmax:%d\n", n, nn, imax, jmax, kmax); // if (id == 128)fprintf(stderr, "%d: nn:%d, imax:%d, jmax:%d, kmax:%d\n", n, nn, imax, jmax, kmax); s = MPI_Wtime(); for(i=1 ; i<imax-1 ; ++i) for(j=1 ; j<jmax-1 ; ++j) for(k=1 ; k<kmax-1 ; ++k){ s0 = a[0][i][j][k] * p[i+1][j ][k ] + a[1][i][j][k] * p[i ][j+1][k ] + a[2][i][j][k] * p[i ][j ][k+1] + b[0][i][j][k] * ( p[i+1][j+1][k ] - p[i+1][j-1][k ] - p[i-1][j+1][k ] + p[i-1][j-1][k ] ) + b[1][i][j][k] * ( p[i ][j+1][k+1] - p[i ][j-1][k+1] - p[i ][j+1][k-1] + p[i ][j-1][k-1] ) + b[2][i][j][k] * ( p[i+1][j ][k+1] - p[i-1][j ][k+1] - p[i+1][j ][k-1] + p[i-1][j ][k-1] ) + c[0][i][j][k] * p[i-1][j ][k ] + c[1][i][j][k] * p[i ][j-1][k ] + c[2][i][j][k] * p[i ][j ][k-1] + wrk1[i][j][k]; ss = ( s0 * a[3][i][j][k] - p[i][j][k] ) * bnd[i][j][k]; wgosa += ss*ss; wrk2[i][j][k] = p[i][j][k] + omega * ss; } for(i=1 ; i<imax-1 ; ++i) for(j=1 ; j<jmax-1 ; ++j) for(k=1 ; k<kmax-1 ; ++k) p[i][j][k] = wrk2[i][j][k]; cpu = MPI_Wtime() - s; s = MPI_Wtime(); sendp(ndx,ndy,ndz); com = MPI_Wtime() - s; s = MPI_Wtime(); if (id == 0) { fprintf(stderr, "%d: time: %f cpu: %f com: %f nn:%d, imax:%d, jmax:%d, kmax:%d\n", cpu + com, cpu, com, n, nn, imax, jmax, kmax); } // if (n % 10 == 0 ) fprintf(stdout, "LLLL %d %f\n", n, s); #ifdef SCR_ENABLE int flag; char SCR_testFileName[SCR_MAX_FILENAME]; char testFileName[SCR_MAX_FILENAME]; double gs, ge, start, end, dump, encoding; gs = start = MPI_Wtime(); SCR_Need_checkpoint(&flag); if(flag){ SCR_Start_checkpoint(); sprintf(testFileName, "testfile.%d", id); strcpy(SCR_testFileName, testFileName); SCR_Route_file(testFileName, SCR_testFileName); if(id == 0) printf(" ***** SCR_ROUTE_FILE %s\n", SCR_testFileName); file_dump(SCR_testFileName, p, MIMAX * MJMAX * MKMAX * sizeof(float)); end = MPI_Wtime(); dump = end - start; start = MPI_Wtime(); SCR_Complete_checkpoint(1); ge = end = MPI_Wtime(); encoding = end - start; //printf(" ***** SCR_START_CHECKPOINT\n"); if (id == 0) fprintf(stderr, "time: %f (write: %f , enco: %f)\n", ge - gs, dump, encoding); } // SCR #endif MPI_Allreduce(&wgosa, &gosa, 1, MPI_FLOAT, MPI_SUM, MPI_COMM_WORLD); } /* end n loop */ return(gosa); }