#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 )
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 16 years ago by
Status: | new → assigned |
---|
comment:2 Changed 16 years ago by
Summary: | Implementation of cascade decays → Testing and optimizing cascade decays |
---|
comment:3 Changed 16 years ago by
Description: | modified (diff) |
---|---|
Milestone: | v2-public → v2.0-beta |
Type: | task → enhancement |
comment:4 Changed 15 years ago by
Type: | enhancement → defect |
---|
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
Question is whether this seg fault is somehow related to Ticket #35 or not.
comment:6 Changed 15 years ago by
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
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 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
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.
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.