static void LoadSharedLibrariesCB(Widget, XtPointer, XtPointer) { StatusDelay delay("Loading shared object library symbols"); gdb_question("sharedlibrary"); update_sources(); }
void VWindowGUI::change_source(EDL *edl, const char *title) { //printf("VWindowGUI::change_source %d\n", __LINE__); update_sources(title); char string[BCTEXTLEN]; if(title[0]) sprintf(string, PROGRAM_NAME ": %s", title); else sprintf(string, PROGRAM_NAME ": Viewer"); lock_window("VWindowGUI::change_source"); #ifdef USE_SLIDER slider->set_position(); #endif timebar->update(0); set_title(string); unlock_window(); }
int main( int argc, char * argv[] ) { int version = 4; int mype = 0; #ifdef MPI int nranks; MPI_Status stat; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &nranks); MPI_Comm_rank(MPI_COMM_WORLD, &mype); #endif #ifdef PAPI papi_serial_init(); #endif srand(time(NULL) * (mype+1)); Input input = set_default_input(); read_CLI( argc, argv, &input ); calculate_derived_inputs( &input ); if( mype == 0 ) logo(version); #ifdef OPENMP omp_set_num_threads(input.nthreads); #endif Params params = build_tracks( &input ); CommGrid grid = init_mpi_grid( input ); if( mype == 0 ) print_input_summary(input); float res; float keff = 1.0; int num_iters = 1; double time_transport = 0; double time_flux_exchange = 0; double time_renormalize_flux = 0; double time_update_sources = 0; double time_compute_keff = 0; double start, stop; if(mype==0) { center_print("SIMULATION", 79); border_print(); } for( int i = 0; i < num_iters; i++) { // Transport Sweep start = get_time(); transport_sweep(¶ms, &input); stop = get_time(); time_transport += stop-start; // Domain Boundary Flux Exchange (MPI) #ifdef MPI start = get_time(); fast_transfer_boundary_fluxes(params, input, grid); stop = get_time(); time_flux_exchange += stop-start; #endif // Flux Renormalization start = get_time(); renormalize_flux(params,input, grid); stop = get_time(); time_renormalize_flux += stop-start; // Update Source Regions start = get_time(); res = update_sources(params, input, keff); stop = get_time(); time_update_sources += stop-start; // Calculate K-Effective start = get_time(); keff = compute_keff(params, input, grid); stop = get_time(); time_compute_keff += stop-start; if( mype == 0 ) printf("keff = %f\n", keff); } double time_total = time_transport + time_flux_exchange + time_renormalize_flux + time_update_sources + time_compute_keff; if( mype == 0 ) { border_print(); center_print("RESULTS SUMMARY", 79); border_print(); printf("Transport Sweep Time: %6.2lf sec (%4.1lf%%)\n", time_transport, 100*time_transport/time_total); printf("Domain Flux Exchange Time: %6.2lf sec (%4.1lf%%)\n", time_flux_exchange, 100*time_flux_exchange/time_total); printf("Flux Renormalization Time: %6.2lf sec (%4.1lf%%)\n", time_renormalize_flux, 100*time_renormalize_flux/time_total); printf("Update Source Time: %6.2lf sec (%4.1lf%%)\n", time_update_sources, 100*time_update_sources/time_total); printf("K-Effective Calc Time: %6.2lf sec (%4.1lf%%)\n", time_compute_keff, 100*time_compute_keff/time_total); printf("Total Time: %6.2lf sec\n", time_total); } long tracks_per_second = 2 * input.ntracks/time_transport; #ifdef MPI MPI_Barrier(grid.cart_comm_3d); long global_tps = 0; MPI_Reduce( &tracks_per_second, // Send Buffer &global_tps, // Receive Buffer 1, // Element Count MPI_LONG, // Element Type MPI_SUM, // Reduciton Operation Type 0, // Master Rank grid.cart_comm_3d ); // MPI Communicator MPI_Barrier(grid.cart_comm_3d); tracks_per_second = global_tps; #endif if( mype == 0 ) { printf("Time per Intersection: "); printf("%.2lf ns\n", time_per_intersection( input, time_transport )); border_print(); } free_2D_tracks( params.tracks_2D ); free_tracks( params.tracks ); #ifdef MPI MPI_Finalize(); #endif return 0; }
void gdbLookupSourceCB(Widget w, XtPointer client_data, XtPointer call_data) { if (gdb->type() != GDB) { gdbOpenSourceCB(w, client_data, call_data); return; } static Widget dialog = 0; if (dialog == 0) { Arg args[10]; int arg = 0; XtSetArg(args[arg], XmNautoUnmanage, False); arg++; #if XmVersion >= 1002 XtSetArg(args[arg], XmNchildPlacement, XmPLACE_TOP); arg++; #endif dialog = verify(XmCreateSelectionDialog(find_shell(w), XMST("sources"), args, arg)); Delay::register_shell(dialog); XtUnmanageChild(XmSelectionBoxGetChild(dialog, XmDIALOG_SELECTION_LABEL)); XtUnmanageChild(XmSelectionBoxGetChild(dialog, XmDIALOG_TEXT)); arg = 0; XtSetArg(args[arg], XmNmarginWidth, 0); arg++; XtSetArg(args[arg], XmNmarginHeight, 0); arg++; XtSetArg(args[arg], XmNborderWidth, 0); arg++; XtSetArg(args[arg], XmNadjustMargin, False); arg++; XtSetArg(args[arg], XmNshadowThickness, 0); arg++; XtSetArg(args[arg], XmNspacing, 0); arg++; Widget bigbox = XmCreateRowColumn(dialog, XMST("bigbox"), args, arg); XtManageChild(bigbox); arg = 0; XtSetArg(args[arg], XmNmarginWidth, 0); arg++; XtSetArg(args[arg], XmNmarginHeight, 0); arg++; XtSetArg(args[arg], XmNborderWidth, 0); arg++; XtSetArg(args[arg], XmNadjustMargin, False); arg++; XtSetArg(args[arg], XmNshadowThickness, 0); arg++; XtSetArg(args[arg], XmNspacing, 0); arg++; Widget box = XmCreateRowColumn(bigbox, XMST("box"), args, arg); XtManageChild(box); arg = 0; Widget label = XmCreateLabel(box, XMST("label"), args, arg); XtManageChild(label); arg = 0; source_filter = XmCreateTextField(box, XMST("filter"), args, arg); XtManageChild(source_filter); arg = 0; Widget sharedlibrary = XmCreatePushButton(bigbox, XMST("sharedlibrary"), args, arg); XtManageChild(sharedlibrary); #if XmVersion >= 1002 arg = 0; Widget lookup = XmCreatePushButton(dialog, XMST("lookup"), args, arg); XtManageChild(lookup); #endif source_list = XmSelectionBoxGetChild(dialog, XmDIALOG_LIST); XtAddCallback(source_list, XmNsingleSelectionCallback, SelectSourceCB, XtPointer(source_list)); XtAddCallback(source_list, XmNmultipleSelectionCallback, SelectSourceCB, XtPointer(source_list)); XtAddCallback(source_list, XmNextendedSelectionCallback, SelectSourceCB, XtPointer(source_list)); XtAddCallback(source_list, XmNbrowseSelectionCallback, SelectSourceCB, XtPointer(source_list)); XtAddCallback(dialog, XmNokCallback, lookupSourceDone, XtPointer(source_list)); XtAddCallback(dialog, XmNapplyCallback, FilterSourcesCB, 0); XtAddCallback(dialog, XmNcancelCallback, UnmanageThisCB, XtPointer(dialog)); XtAddCallback(dialog, XmNunmapCallback, ClearStatusCB, 0); XtAddCallback(dialog, XmNhelpCallback, ImmediateHelpCB, 0); XtAddCallback(source_filter, XmNactivateCallback, FilterSourcesCB, 0); XtAddCallback(sharedlibrary, XmNactivateCallback, LoadSharedLibrariesCB, 0); #if XmVersion >= 1002 XtAddCallback(lookup, XmNactivateCallback, lookupSourceDone, XtPointer(source_list)); #endif } update_sources(source_list, source_filter); open_source_msg(); manage_and_raise(dialog); warn_if_no_program(dialog); }
static void FilterSourcesCB(Widget, XtPointer, XtPointer) { update_sources(); }
void update_sources() { if (source_list != 0) update_sources(source_list, source_filter); }
void VWindowGUI::create_objects() { in_point = 0; out_point = 0; lock_window("VWindowGUI::create_objects"); set_icon(mwindow->theme->get_image("vwindow_icon")); //printf("VWindowGUI::create_objects 1\n"); mwindow->theme->get_vwindow_sizes(this); mwindow->theme->draw_vwindow_bg(this); flash(0); meters = new VWindowMeters(mwindow, this, mwindow->theme->vmeter_x, mwindow->theme->vmeter_y, mwindow->theme->vmeter_h); meters->create_objects(); //printf("VWindowGUI::create_objects 1\n"); // Requires meters to build edit_panel = new VWindowEditing(mwindow, vwindow); edit_panel->set_meters(meters); edit_panel->create_objects(); //printf("VWindowGUI::create_objects 1\n"); #ifdef USE_SLIDER add_subwindow(slider = new VWindowSlider(mwindow, vwindow, this, mwindow->theme->vslider_x, mwindow->theme->vslider_y, mwindow->theme->vslider_w)); #endif //printf("VWindowGUI::create_objects 1\n"); transport = new VWindowTransport(mwindow, this, mwindow->theme->vtransport_x, mwindow->theme->vtransport_y); transport->create_objects(); #ifdef USE_SLIDER transport->set_slider(slider); #endif //printf("VWindowGUI::create_objects 1\n"); // add_subwindow(fps_title = new BC_Title(mwindow->theme->vedit_x, y, "")); add_subwindow(clock = new MainClock(mwindow, mwindow->theme->vtime_x, mwindow->theme->vtime_y, mwindow->theme->vtime_w)); canvas = new VWindowCanvas(mwindow, this); canvas->create_objects(mwindow->edl); //printf("VWindowGUI::create_objects 1\n"); add_subwindow(timebar = new VTimeBar(mwindow, this, mwindow->theme->vtimebar_x, mwindow->theme->vtimebar_y, mwindow->theme->vtimebar_w, mwindow->theme->vtimebar_h)); timebar->create_objects(); //printf("VWindowGUI::create_objects 2\n"); //printf("VWindowGUI::create_objects 1\n"); // source = new VWindowSource(mwindow, // this, // mwindow->theme->vsource_x, // mwindow->theme->vsource_y); // source->create_objects(); update_sources(_("None")); //printf("VWindowGUI::create_objects 2\n"); deactivate(); #ifdef USE_SLIDER slider->activate(); #endif show_window(); unlock_window(); }