whizard is hosted by Hepforge, IPPP Durham

Opened 15 years ago

Closed 14 years ago

Last modified 14 years ago

#26 closed defect (fixed)

Testing and optimizing cascade decays

Reported by: kilian Owned by: kilian
Priority: P1 Milestone:
Component: core Version: 2.0.0alpha
Severity: major Keywords: Cascade decays
Cc:

Description (last modified by kilian)

Cascade decays are now implemented, but extremely inefficient. This has to be optimized by re-implementing the multiplication of evaluators. When this works, the results must be thoroughly checked.

Change History (9)

comment:1 Changed 15 years ago by kilian

Status: newassigned

comment:2 Changed 15 years ago by kilian

Summary: Implementation of cascade decaysTesting and optimizing cascade decays

The implementation is now complete and appears to be working. Now, some nontrivial examples should be carefully checked.

More importantly, the implementation currently has a bottleneck that makes it almost unusable. This is the construction of product evaluators which contain triply nested loops over quantum-state assignments. This problem has to be tackled next.

comment:3 Changed 15 years ago by kilian

Description: modified (diff)
Milestone: v2-publicv2.0-beta
Type: taskenhancement

comment:4 Changed 15 years ago by kilian

Type: enhancementdefect

The efficiency problem has been solved in [1227]. Further improvements are necessary. Furthermore, the code fails with gfortran now (segfault).

comment:5 Changed 15 years ago by Juergen Reuter

Question is whether this seg fault is somehow related to Ticket #35 or not.

comment:6 Changed 15 years ago by Juergen Reuter

Here is the traceback from the gdb: rogram received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x00000010 0x00292a5d in interactions_MOD_interaction_receive_momenta () (gdb) bt #0 0x00292a5d in interactions_MOD_interaction_receive_momenta () #1 0x00251284 in evaluators_MOD_evaluator_receive_momenta () #2 0x002fd1a8 in processes_MOD_process_complete_evaluators () #3 0x002fd283 in processes_MOD_process_generate_unweighted_event () #4 0x0024b7ea in decays_MOD_decay_generate () #5 0x0024bbdf in decays_MOD_decay_chain_generate () #6 0x0025e219 in events_MOD_event_generate_unweighted () #7 0x00240abc in commands_MOD_cmd_simulate_execute () #8 0x0023eaff in commands_MOD_command_execute () #9 0x0023eba1 in commands_MOD_command_list_execute () #10 0x003507bd in whizard_MOD_whizard_process_stream () #11 0x00351417 in whizard_MOD_whizard_process_file () #12 0x00014006 in MAIN () at main.f90:205 #13 0x00014b39 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at main.f90:29

comment:7 Changed 15 years ago by kilian

With edit [1229], the efficiency problem is apparently solved. To be done: treat squaring evaluators the same way as product evaluators.

The gfortran problem (on my machine) is related to the PACK function, which is still buggy in my installation, but should be fixed in a newer version. (The new product evaluator code uses PACK.) To be checked again after a gfortran update. Or is there another problem?

comment:8 Changed 14 years ago by kilian

Resolution: fixed
Status: assignedclosed

The reimplementation is now complete and appears to be working. I close this ticket now, keeping in mind that cascade decays still need thorough real-life checks.

comment:9 Changed 14 years ago by Juergen Reuter

Milestone: v2.0-beta

Milestone v2.0-beta deleted

Note: See TracTickets for help on using tickets.