CodeUniverse · package
FiPy
many-face diffusivity gradient for a scalar PDE objective
AD speed-up on the same differentiation workload (against finite differences) Speed-up: 154.5×
High-dimensional demo
many-face diffusivity gradient for a scalar PDE objective
Supplied demo scenario wording.
FD components requested 1 – 256 · AD components 808
View demo measurements
| Measure | Value |
|---|---|
| AD median (s) | 0.01079650002066046 |
| FD median (s) | 1.6681210829410702 |
| FD / AD | 154.50572683266898 |
| Max scaled error | 3.808554201178982e-10 |
| AD components | 808 |
| FD components requested | 256 |
| AD parameters | 256 |
| Repeats | 7 |
| FD components requested | AD median (s) | FD median (s) | FD / AD | Max scaled error | AD components |
|---|---|---|---|---|---|
| 1 | 808 | 0.010713916970416903 | 0.006495542009361088 | 0.6062714530359415 | 1.1044305010463051e-11 |
| 2 | 808 | 0.010908707976341248 | 0.012403875007294118 | 1.137061789003389 | 2.7281251042954313e-11 |
| 4 | 808 | 0.010704957996495068 | 0.024376124958507717 | 2.277087398800514 | 3.0620905984435343e-10 |
| 8 | 808 | 0.010581459035165608 | 0.04957854200620204 | 4.685416429004405 | 3.0620905984435343e-10 |
| 16 | 808 | 0.010365208960138261 | 0.09762174997013062 | 9.418213404626668 | 3.0620905984435343e-10 |
| 32 | 808 | 0.01039233396295458 | 0.19659612502437085 | 18.917417947226728 | 3.0620905984435343e-10 |
| 64 | 808 | 0.010488083004020154 | 0.40122091595549136 | 38.254933318290924 | 3.0620905984435343e-10 |
| 128 | 808 | 0.010386875015683472 | 0.7908856249414384 | 76.14278825414334 | 3.711284023155681e-10 |
| 256 | 808 | 0.01079650002066046 | 1.6681210829410702 | 154.50572683266898 | 3.808554201178982e-10 |
One-direction performance audit
View audit measurements
| Demo scenario | Problem size | Repeats | AD median (s) | FD median (s) | FD / AD | Relative error | Supplied verdict |
|---|---|---|---|---|---|---|---|
| diffusion_reaction_directional_derivative | 128_cells | — | 0.0107115000719 | 0.020504708984 | 1.914270536 | 6.93e-9 | — |
FD/AD > 1 means automatic differentiation is faster; FD/AD < 1 means the finite-difference comparison is faster. One direction only, measured inside the package's own case.