Skip to content

Make fmmlib integration use new p2qbxl interaction routine in pyfmmlib

Andreas Klöckner requested to merge fmmlib-p2qbxl into master

cc @mattwala

This makes use of pyfmmlib@fd0fff1d.

It's a pretty big win, given how not difficult this was.

For:

pycl test_layer_pot_identity.py  'test_identity_convergence(cl._csc,SphereGreenTest())' 

Timing/errors before:

h                  |Error            |Running EOC
-------------------+-----------------+-------------
0.7926660362446749 |0.000649110885086|
0.42409160875182805|0.000112837136995|2.79742751924
Overall EOC: 2.79742751924
python test_layer_pot_identity.py   240.02s user 28.57s system 268% cpu 1:40.05 total

Timing/errors after:

h                  |Error            |Running EOC
-------------------+-----------------+-------------
0.7926660362446749 |0.000649110885086|
0.42409160875182805|0.000112837136994|2.79742751925
Overall EOC: 2.79742751925
python test_layer_pot_identity.py   140.56s user 28.14s system 834% cpu 20.214 total

IOW, result same, time goes from 1:40 to 20s (and much better CPU utilization). I'd say this puts us within reach of calling pytential a plausible 3D code.

Merge request reports