Skip to content

Optimize solid angle computation - new #663

Open
@Didou09

Description

Context:

The routines mentioned in issue #653 have been written, the are functional and have unit tests.

They would need to be profiled / benchmarked / optimized / parallelized:

A benchmark has been prepared and can be run with:

(base) didier@didier-XH310V2~/Documents/Projects/tofu (Issue658_Etendue) $ asv run HEAD^! -q -b benchmarks_03_solidangles -e
· Creating environments
· Discovering benchmarks
· Running 4 total benchmarks (1 commits * 1 environments * 4 benchmarks)
[  0.00%] · For tofu commit 1b83950e <Issue658_Etendue>:
[  0.00%] ·· Benchmarking conda-py3.8.12-cython0.29.24-matplotlib3.4.3-numpy1.21.2-requests2.26.0-scikit-sparse-scikit-umfpack-scipy1.7.1
[  0.00%] ··· Importing benchmark suite produced output:
[  0.00%] ···· /home/didier/Documents/Projects/tofu/.asv/env/046138848c127820e353d55c8576a687/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3208: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.
                 return asarray(a).size
               /home/didier/Documents/Projects/tofu/.asv/env/046138848c127820e353d55c8576a687/lib/python3.8/site-packages/tofu/__init__.py:98: UserWarning: 
               The following subpackages are not available:
               	- tofu.imas2tofu
               	- tofu.mag
               	- tofu.tomotok2tofu
                 => see print(tofu.dsub[<subpackage>]) for details.
                 warnings.warn(msg)

[ 12.50%] ··· Setting up benchmarks_03_solidangles.py:46                                                                                                                                                    ok
[ 12.50%] ··· benchmarks_03_solidangles.SolidAngle.time_00_light                                                                                                                                       961±0ms
[ 25.00%] ··· benchmarks_03_solidangles.SolidAngle.time_01_unitvectors                                                                                                                                 978±0ms
[ 37.50%] ··· benchmarks_03_solidangles.SolidAngle.time_03_etendue_check                                                                                                                              49.0±0ms
[ 50.00%] ··· benchmarks_03_solidangles.SolidAngle.time_04_etendue_summed                                                                                                                             49.8±0ms

@obrejank , you can forget about issue #653 , the routine now exist and they just need your optimization expertise :-)

You can create a new branch from devel and forget about the rest

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions