-
Notifications
You must be signed in to change notification settings - Fork 30
Accelerates 2D/3D GWN queries with memoization #1653
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
commit 0b33270 Merge: 0ea0af7 031a6d2 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 11 13:16:37 2025 -0700 Merge branch 'feature/spainhour/winding_number_memoization' of https://github.com/LLNL/axom into feature/spainhour/winding_number_memoization commit 0ea0af7 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 11 13:16:30 2025 -0700 Remove unused branch commit 031a6d2 Merge: 551ea55 7704e12 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 11 13:13:47 2025 -0700 Merge branch 'develop' into feature/spainhour/winding_number_memoization commit 551ea55 Merge: c3bca76 856f211 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 11 13:11:56 2025 -0700 Merge branch 'feature/spainhour/winding_number_memoization' of https://github.com/LLNL/axom into feature/spainhour/winding_number_memoization commit c3bca76 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 11 11:38:54 2025 -0700 Address warnings commit 7704e12 Merge: a18035d 438e227 Author: Brian Han <[email protected]> Date: Thu Sep 11 10:58:42 2025 -0700 Merge pull request #1634 from LLNL/feature/han12/aws_docker_2025 AWS Docker Base Image Update commit 438e227 Merge: b1df923 a18035d Author: Brian Han <[email protected]> Date: Thu Sep 11 08:14:46 2025 -0700 Merge branch 'develop' into feature/han12/aws_docker_2025 commit a18035d Merge: f55dcf8 72fad3f Author: Brad Whitlock <[email protected]> Date: Wed Sep 10 14:27:37 2025 -0700 Merge pull request #1642 from LLNL/feature/whitlock/mfem_for_shaping Enhance SamplingShaper so it can work with contours stored in MFEM meshes commit 72fad3f Merge: 9b138c2 f55dcf8 Author: Brad Whitlock <[email protected]> Date: Wed Sep 10 12:25:19 2025 -0700 Merge branch 'develop' into feature/whitlock/mfem_for_shaping commit b1df923 Merge: bbdb466 f55dcf8 Author: Brian Han <[email protected]> Date: Wed Sep 10 08:24:40 2025 -0700 Merge branch 'develop' into feature/han12/aws_docker_2025 commit f55dcf8 Merge: eac6b67 e646f78 Author: Max Yang <[email protected]> Date: Tue Sep 9 10:05:04 2025 -0700 Merge pull request #1651 from LLNL/feature/yang39/flatmap-rehash FlatMap: add device-aware rehash commit 856f211 Author: Jacob Spainhour <[email protected]> Date: Mon Sep 8 18:02:41 2025 -0700 Rename NURBSPatchData class commit 32c4c10 Author: Jacob Spainhour <[email protected]> Date: Mon Sep 8 17:42:27 2025 -0700 Minor changes throughout, remove unnecessary debug stuff commit e646f78 Author: Max Yang <[email protected]> Date: Fri Sep 5 14:55:35 2025 -0700 FlatMap: add ODR check commit 65e24ea Author: Max Yang <[email protected]> Date: Fri Sep 5 10:25:44 2025 -0700 FlatMap rehash: fixes for CUDA commit deac2d0 Author: Max Yang <[email protected]> Date: Wed Sep 3 13:15:39 2025 -0700 FlatMap: use parallel rehash method sometimes Currently, this is limited to rehashes where the KV pair is trivially-copyable, and the array is located in device-side memory. commit 17f65a9 Author: Max Yang <[email protected]> Date: Tue Sep 2 17:41:47 2025 -0700 FlatMap: add parallelRehash method for device-side rehashes commit 7087604 Author: Max Yang <[email protected]> Date: Thu Aug 28 12:29:36 2025 -0700 Add rehash performance to benchmarks commit eac6b67 Merge: 981a7e7 2258d6c Author: Chris White <[email protected]> Date: Mon Sep 8 17:08:06 2025 -0700 Merge pull request #1601 from LLNL/feature/bergel1/lumberjack_creation_time_sorting Add Message creation time and sort by creation time commit d2db8b5 Author: Jacob Spainhour <[email protected]> Date: Mon Sep 8 15:36:48 2025 -0700 Add new interfaces commit ee864cb Author: Jacob Spainhour <[email protected]> Date: Mon Sep 8 11:34:40 2025 -0700 Remove more debug statements commit 91e004c Author: Jacob Spainhour <[email protected]> Date: Mon Sep 8 11:34:18 2025 -0700 Reorganize for memoization commit a663ebf Merge: ca4e0a8 981a7e7 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 4 13:41:43 2025 -0700 Merge branch 'develop' into feature/spainhour/winding_number_memoization commit ca4e0a8 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 4 13:28:41 2025 -0700 Remove some stuff from debugging commit 776add4 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 4 13:07:37 2025 -0700 last few debug updates (debugdates) commit 2258d6c Merge: 744a0b3 981a7e7 Author: Chris White <[email protected]> Date: Wed Sep 3 16:40:53 2025 -0700 Merge branch 'develop' into feature/bergel1/lumberjack_creation_time_sorting commit 9b138c2 Merge: 6d673eb 981a7e7 Author: Brad Whitlock <[email protected]> Date: Fri Aug 29 17:15:56 2025 -0700 Merge branch 'develop' into feature/whitlock/mfem_for_shaping commit 744a0b3 Author: Guy Bergel <[email protected]> Date: Fri Aug 29 12:42:47 2025 -0700 Message class documentation commit 11f0939 Author: Guy Bergel <[email protected]> Date: Fri Aug 29 12:36:29 2025 -0700 added various documentation commit 6d673eb Merge: eb4ff8f 2d67843 Author: Brad Whitlock <[email protected]> Date: Fri Aug 29 11:24:33 2025 -0700 Merge branch 'feature/whitlock/mfem_for_shaping' of github.com:LLNL/axom into feature/whitlock/mfem_for_shaping commit eb4ff8f Author: Brad Whitlock <[email protected]> Date: Fri Aug 29 11:24:22 2025 -0700 Fix a comment. Remove default ctor/dtor in MFEMReader. commit 189a765 Author: Guy Bergel <[email protected]> Date: Fri Aug 29 11:05:11 2025 -0700 small fix and removed rename commit dfe1ed9 Author: Guy Bergel <[email protected]> Date: Wed Aug 6 17:33:20 2025 -0700 apply clang-format commit c016ecf Author: Guy Bergel <[email protected]> Date: Wed Aug 6 17:27:59 2025 -0700 updated combiner comments to mention creation time commit a076398 Author: Guy Bergel <[email protected]> Date: Wed Aug 6 17:16:43 2025 -0700 restore submodules to devel state commit c4c7334 Author: Guy Bergel <[email protected]> Date: Wed Aug 6 16:26:28 2025 -0700 added start time to communicator and compute elapsed time in lumberjack commit 22bba1c Author: Guy Bergel <[email protected]> Date: Mon Jun 30 17:27:56 2025 -0700 apply clang format commit 5e90738 Author: Guy Bergel <[email protected]> Date: Mon Jun 30 17:23:53 2025 -0700 removed unneeded includes commit e952513 Author: Guy Bergel <[email protected]> Date: Mon Jun 30 17:02:43 2025 -0700 remove lumberjack integration test and various other small fixes commit 0c1a4e6 Author: Guy Bergel <[email protected]> Date: Mon Jun 30 16:48:43 2025 -0700 moved creation time to slic LumberjackStream and added another queueMessage method that takes list of ranks and count to help with sorting multiple streams commit 8285970 Author: Guy Bergel <[email protected]> Date: Thu Jun 26 10:56:57 2025 -0700 added some testing and various other small modifications commit 26079c7 Author: Guy Bergel <[email protected]> Date: Wed Jun 25 17:54:35 2025 -0700 swapped std::time_t time with double and use MPI_Wtime() to get creation time commit bd5ef74 Author: Guy Bergel <[email protected]> Date: Wed Jun 25 17:37:56 2025 -0700 started adding creation time with std::time_t commit 2d67843 Merge: 90dbe79 c062852 Author: Brad Whitlock <[email protected]> Date: Thu Aug 28 18:37:11 2025 -0700 Merge branch 'develop' into feature/whitlock/mfem_for_shaping commit 90dbe79 Author: Brad Whitlock <[email protected]> Date: Thu Aug 28 18:33:18 2025 -0700 Test for LinearizeCurves. commit 9d36184 Author: Brad Whitlock <[email protected]> Date: Thu Aug 28 15:59:03 2025 -0700 Added make_shapes.py script that can generate some MFEM contour files for shaping. commit 91088a1 Author: Brad Whitlock <[email protected]> Date: Wed Aug 27 12:47:44 2025 -0700 make style commit 4cf8aa7 Author: Brad Whitlock <[email protected]> Date: Wed Aug 27 12:47:13 2025 -0700 Added a winding number shaping test. commit 68bc863 Merge: 992185f 27bf56c Author: Brad Whitlock <[email protected]> Date: Wed Aug 27 11:42:41 2025 -0700 Merged develop into branch. commit 71ab6fa Author: Jacob Spainhour <[email protected]> Date: Fri Aug 22 15:41:48 2025 -0700 Push the data temporarily to the github commit 992185f Merge: 50f9312 f9a7329 Author: Brad Whitlock <[email protected]> Date: Fri Aug 22 15:29:34 2025 -0700 Merge branch 'feature/whitlock/mfem_for_shaping' of github.com:LLNL/axom into feature/whitlock/mfem_for_shaping commit 50f9312 Author: Brad Whitlock <[email protected]> Date: Fri Aug 22 15:27:28 2025 -0700 make style commit 3bb6fd5 Author: Brad Whitlock <[email protected]> Date: Fri Aug 22 15:24:48 2025 -0700 Enhanced SamplingShaper and samplers so projector function can be passed into computeVolumeFractionsBaseline. commit 127a779 Author: Brad Whitlock <[email protected]> Date: Fri Aug 22 14:52:48 2025 -0700 Improve template argument names and comments in QuestHelpers. commit 51959bb Author: Brad Whitlock <[email protected]> Date: Fri Aug 22 14:52:02 2025 -0700 Improve template argument names and some documentation in MFEMReader. commit c3ca31d Author: Brad Whitlock <[email protected]> Date: Fri Aug 22 14:51:12 2025 -0700 Use AXOM_MAYBE_UNUSED in NURBSPatch commit 12e6d42 Author: Brad Whitlock <[email protected]> Date: Fri Aug 22 14:50:40 2025 -0700 Added AXOM_MAYBE_UNUSED macro commit 0c2ba9b Author: Jacob Spainhour <[email protected]> Date: Fri Aug 22 09:13:48 2025 -0700 update to test file commit f9a7329 Merge: a9276c6 915db00 Author: Brad Whitlock <[email protected]> Date: Thu Aug 21 18:25:49 2025 -0700 Merge branch 'develop' into feature/whitlock/mfem_for_shaping commit a9276c6 Merge: 06c3c80 0398fe6 Author: Brad Whitlock <[email protected]> Date: Wed Aug 20 16:54:06 2025 -0700 Merge branch 'develop' into feature/whitlock/mfem_for_shaping commit 06c3c80 Author: Brad Whitlock <[email protected]> Date: Wed Aug 20 16:53:09 2025 -0700 Update data submodule. commit 67949d2 Merge: d701b06 ab615fa Author: Brad Whitlock <[email protected]> Date: Wed Aug 20 12:39:04 2025 -0700 Merge branch 'feature/whitlock/mfem_for_shaping' of github.com:LLNL/axom into feature/whitlock/mfem_for_shaping commit d701b06 Author: Brad Whitlock <[email protected]> Date: Wed Aug 20 12:38:59 2025 -0700 Unified curve creation. commit ab615fa Author: Brad Whitlock <[email protected]> Date: Wed Aug 20 11:39:11 2025 -0700 Updated RELEASE-NOTES.md commit 42076db Author: Brad Whitlock <[email protected]> Date: Tue Aug 19 16:52:46 2025 -0700 Fix typo and warnings. commit 24d9b13 Merge: 981e863 abf5db8 Author: Brad Whitlock <[email protected]> Date: Tue Aug 19 16:34:03 2025 -0700 Merge branch 'develop' into feature/whitlock/mfem_for_shaping commit 981e863 Author: Brad Whitlock <[email protected]> Date: Tue Aug 19 16:32:50 2025 -0700 make style, added test for shaping with mfem and winding numbers. commit 78f21d0 Author: Brad Whitlock <[email protected]> Date: Tue Aug 19 15:26:04 2025 -0700 Added a test to read an MFEM file that has multiple curved polygons built from the curves it contains. commit 9951c50 Author: Brad Whitlock <[email protected]> Date: Tue Aug 19 15:04:30 2025 -0700 Added MFEM reader test commit 5fcb6b6 Author: Brad Whitlock <[email protected]> Date: Tue Aug 19 14:31:42 2025 -0700 Removed commented-out code. commit a431e9d Author: Brad Whitlock <[email protected]> Date: Tue Aug 19 14:23:39 2025 -0700 make style commit 8eb2152 Author: Brad Whitlock <[email protected]> Date: Tue Aug 19 14:21:00 2025 -0700 Updated data dir. commit a8b3029 Author: Brad Whitlock <[email protected]> Date: Tue Aug 19 11:45:54 2025 -0700 Add script for plotting heroic_roses with decent colors. commit e4074d9 Author: Brad Whitlock <[email protected]> Date: Thu Aug 14 18:32:22 2025 -0700 Allow .mesh file extension commit cb2095d Author: Brad Whitlock <[email protected]> Date: Thu Aug 14 18:14:08 2025 -0700 Change MFEM reading so it can read NURBSCurve or CurvedPolygon. Hook up mfem I/O to normal InOut path in SamplingShaper so mfem files can get turned to line segments. Make it possible to select between inout and windingnumber sampling methods. commit f97cfd5 Author: Brad Whitlock <[email protected]> Date: Thu Aug 14 15:30:39 2025 -0700 Separated curve linearization from the C2C reader. commit bbdb466 Merge: 015408e ada937a Author: Brian Han <[email protected]> Date: Wed Aug 13 12:55:05 2025 -0700 Merge branch 'develop' into feature/han12/aws_docker_2025 commit 015408e Author: Brian Han <[email protected]> Date: Wed Aug 13 10:07:58 2025 -0700 Attempt to add VisIt binary installation commit c1f1138 Author: Brian Han <[email protected]> Date: Thu Aug 7 14:34:11 2025 -0700 Reoptional optional commands commit 12f01f5 Author: Brian Han <[email protected]> Date: Wed Aug 6 16:31:48 2025 -0700 umpire+shared conflicts with +cuda so do not specify umpire+shared commit 6bad3c7 Author: Brian Han <[email protected]> Date: Wed Aug 6 16:25:03 2025 -0700 Remove unneeded fix, see if umpire+shared fix is needed commit 4d952a8 Author: Brian Han <[email protected]> Date: Wed Aug 6 13:53:36 2025 -0700 Try fix for constructor matching commit f74bb29 Author: Brian Han <[email protected]> Date: Wed Aug 6 08:24:48 2025 -0700 Disable lto for all compilers commit 725ea26 Author: Brian Han <[email protected]> Date: Tue Jul 22 12:24:59 2025 -0700 Attempt to overwrite LTO flags from MPI compiler commit 22b4c39 Author: Brian Han <[email protected]> Date: Tue Jul 22 11:24:11 2025 -0700 Disable lto, cuda compilation failures commit 62cdae8 Author: Brian Han <[email protected]> Date: Tue Jul 22 10:32:41 2025 -0700 Adjust ordering commit edb019e Author: Brian Han <[email protected]> Date: Tue Jul 22 10:22:53 2025 -0700 raja missing cuda_arch commit 3219343 Author: Brian Han <[email protected]> Date: Tue Jul 22 10:16:27 2025 -0700 cuda minor version commit 7377ab7 Author: Brian Han <[email protected]> Date: Tue Jul 22 09:26:30 2025 -0700 Try more precised cmake path commit d2d4262 Author: Brian Han <[email protected]> Date: Tue Jul 22 08:52:31 2025 -0700 Use root permissions for openvscode download commit 2405974 Author: Brian Han <[email protected]> Date: Tue Jul 22 08:46:27 2025 -0700 bump spack env name commit c5c4587 Author: Brian Han <[email protected]> Date: Tue Jul 22 08:43:22 2025 -0700 Attempt to update to newer ubuntu (same as RAJA) commit d33a35b Author: Brian Han <[email protected]> Date: Mon Jul 21 09:20:53 2025 -0700 Add python3 for conduit commit bfa6202 Author: Brian Han <[email protected]> Date: Fri Jul 18 15:23:16 2025 -0700 Try without umpire+shared hack commit 4de87ae Author: Brian Han <[email protected]> Date: Fri Jul 18 15:05:37 2025 -0700 wip - cmake; spec, unzip commit 30047f0 Author: Brad Whitlock <[email protected]> Date: Thu Jul 31 16:37:39 2025 -0700 make style commit 855c00d Author: Brad Whitlock <[email protected]> Date: Thu Jul 31 16:36:01 2025 -0700 BVH enhancements commit c87b03e Author: Brad Whitlock <[email protected]> Date: Fri Jul 25 18:10:21 2025 -0700 Fixes that get winding number shaping to somewhat work. commit 901c2c7 Author: Brad Whitlock <[email protected]> Date: Fri Jul 25 14:44:42 2025 -0700 make style commit 0b45eef Merge: 2153e4b 084ce5f Author: Brad Whitlock <[email protected]> Date: Fri Jul 25 14:43:16 2025 -0700 Merged develop into branch commit 2153e4b Author: Brad Whitlock <[email protected]> Date: Fri Jul 25 14:36:09 2025 -0700 Initial changes in support of MFEM sample-based shaping. commit 90c2f46 Author: Kenneth Weiss <[email protected]> Date: Tue Jul 22 17:42:50 2025 -0700 Updates RELEASE-NOTES commit 662592f Author: Kenneth Weiss <[email protected]> Date: Tue Jul 22 17:38:58 2025 -0700 Update the Klee user docs with the new per-shape `geometry/dimensions` field commit 2ed6971 Author: Kenneth Weiss <[email protected]> Date: Tue Jul 22 17:08:20 2025 -0700 Adds getInputDimensions and getOutputDimensions helper functions to klee::Geometry commit 23c1780 Author: Kenneth Weiss <[email protected]> Date: Fri Jul 18 19:46:35 2025 -0700 Improves testing of the explicit "geometry/dimensions" field commit 1fc9940 Author: Kenneth Weiss <[email protected]> Date: Fri Jul 18 19:36:10 2025 -0700 Adds optional "dimensions" field to klee's "shapes/geometry" Allows overriding the user-provided global dimension for the shape. This will (eventually) allow using STL files for 2D shapes, among other things. commit 9997287 Author: Kenneth Weiss <[email protected]> Date: Fri Jul 18 16:44:26 2025 -0700 Clarity: Adds explicit `inlet` namespace within Klee implementation commit 5f0e899 Author: Kenneth Weiss <[email protected]> Date: Fri Jul 18 16:25:39 2025 -0700 Adds `Unspecified` to the klee::Dimensions enum Misc: Fixes some doxygen comments and line breaks when looking through Klee source code. commit 4feb63c Author: Kenneth Weiss <[email protected]> Date: Wed Jul 2 12:41:31 2025 -0700 minor commit a7c4288 Author: Kenneth Weiss <[email protected]> Date: Tue Jul 1 17:11:56 2025 -0700 Reorganizes Klee source directory Moves IO files to `io` subdirectory. commit 77c8559 Author: Kenneth Weiss <[email protected]> Date: Tue Jul 1 15:09:27 2025 -0700 Updates CI badge to github actions CI (from Azure) commit d2f0eef Author: Kenneth Weiss <[email protected]> Date: Tue Jul 1 15:09:21 2025 -0700 Fix typo in test name commit 71601ce Author: Jacob Spainhour <[email protected]> Date: Fri Jul 11 17:10:01 2025 -0700 made it better commit aa689b8 Author: Jacob Spainhour <[email protected]> Date: Fri Jul 11 16:08:59 2025 -0700 Updated runner commit 871157a Author: Jacob Spainhour <[email protected]> Date: Fri Jul 11 16:08:46 2025 -0700 Updated source commit 2c05d15 Author: Jacob Spainhour <[email protected]> Date: Fri Jul 11 16:01:07 2025 -0700 Checkpoint commit 3bf1640 Author: Jacob Spainhour <[email protected]> Date: Thu Jul 10 16:26:40 2025 -0700 Checkpoint commit c7df55a Author: Jacob Spainhour <[email protected]> Date: Thu Jul 10 15:09:43 2025 -0700 Checkpoint commit 057fa24 Author: Jacob Spainhour <[email protected]> Date: Sat Jun 28 16:13:34 2025 -0600 update to current debug version commit b610177 Author: Jacob Spainhour <[email protected]> Date: Mon Jun 2 15:47:48 2025 -0600 Add new test commit 4e35fee Author: Jacob Spainhour <[email protected]> Date: Mon May 26 13:51:13 2025 -0600 temp changes commit aa9fc20 Author: Jacob Spainhour <[email protected]> Date: Wed May 21 13:34:40 2025 -0600 fix style and test commit edea269 Author: Jacob Spainhour <[email protected]> Date: Wed May 21 13:34:30 2025 -0600 fix silly bug commit 1635dee Author: Jacob Spainhour <[email protected]> Date: Tue May 20 12:44:23 2025 -0600 updates commit 9e0c94f Merge: e6b5844 39697c3 Author: Jacob Spainhour <[email protected]> Date: Mon May 19 15:16:08 2025 -0600 Merge branch 'feature/spainhour/winding_number_3d_update' into example/spainhour/patch_winding_numbers commit e6b5844 Author: Jacob Spainhour <[email protected]> Date: Thu May 15 12:52:28 2025 -0600 update example code commit 7cdcbb4 Author: Jacob Spainhour <[email protected]> Date: Mon May 12 14:52:31 2025 -0600 Add new test commit 8210fa8 Author: Jacob Spainhour <[email protected]> Date: Mon May 12 13:03:26 2025 -0600 Resolve extra merge conflicts commit 86cd081 Author: Jacob Spainhour <[email protected]> Date: Fri May 9 23:35:39 2025 -0600 More clean merge commit 4179151 Merge: 9b3549e e7d6482 Author: Jacob Spainhour <[email protected]> Date: Fri May 9 14:46:23 2025 -0600 Merge branch 'feature/spainhour/winding_number_3d_update' into example/spainhour/patch_winding_numbers commit 9b3549e Merge: c30b64e c98d4ac Author: Jacob Spainhour <[email protected]> Date: Fri May 9 14:39:58 2025 -0600 Merge branch 'develop' into example/spainhour/patch_winding_numbers commit c30b64e Author: Jacob Spainhour <[email protected]> Date: Fri May 9 14:16:29 2025 -0600 intersect_circle_bezier commit 53917fe Author: Jacob Spainhour <[email protected]> Date: Mon Apr 21 13:04:38 2025 -0600 New debugging statements and tests commit 53913fd Author: Jacob Spainhour <[email protected]> Date: Mon Apr 21 13:02:43 2025 -0600 Make patch expansion use cleverer formula commit 496d9a4 Author: Jacob Spainhour <[email protected]> Date: Mon Apr 21 13:02:10 2025 -0600 Fix a silly issue commit e52246c Author: Jacob Spainhour <[email protected]> Date: Thu Apr 10 15:27:17 2025 -0600 First effort at fixing the extension thing commit c742146 Author: Jacob Spainhour <[email protected]> Date: Thu Apr 3 14:13:24 2025 -0600 get functions for testing commit eca3d49 Author: Jacob Spainhour <[email protected]> Date: Thu Apr 3 13:59:50 2025 -0600 Add an example\ commit 2ede1df Author: Jacob Spainhour <[email protected]> Date: Thu Apr 3 13:59:43 2025 -0600 Fix a bug commit 71aa4f2 Author: Jacob Spainhour <[email protected]> Date: Sun Feb 2 15:53:47 2025 -0700 Get up to current version commit 9a8f5dc Author: Jacob Spainhour <[email protected]> Date: Sun Feb 2 15:50:26 2025 -0700 Add a strict check for BezierPatch too commit d653c1a Author: Jacob Spainhour <[email protected]> Date: Sun Feb 2 15:41:45 2025 -0700 Add option for strict linearity commit a9b0edc Merge: 9a46084 9c11154 Author: Jacob Spainhour <[email protected]> Date: Mon Jan 27 12:46:45 2025 -0700 Merge branch 'example/spainhour/patch_winding_numbers' of github.com:LLNL/axom into example/spainhour/patch_winding_numbers commit 9a46084 Author: Jacob Spainhour <[email protected]> Date: Mon Jan 27 12:41:22 2025 -0700 Last changes from submission commit 9c11154 Author: Jacob Spainhour <[email protected]> Date: Mon Jan 27 12:41:22 2025 -0700 Last changes from submission commit 0ab37c2 Author: Jacob Spainhour <[email protected]> Date: Tue Jan 21 04:16:45 2025 -0700 Add extra VTK stuff commit 5a35d1f Author: Jacob Spainhour <[email protected]> Date: Mon Jan 20 17:29:29 2025 -0700 Add sample data commit c342248 Author: Jacob Spainhour <[email protected]> Date: Mon Jan 20 17:22:30 2025 -0700 Make suitable for tests commit 2c83be6 Author: Jacob Spainhour <[email protected]> Date: Fri Jan 17 19:16:35 2025 -0700 Add trimming curve example commit 68bf3cd Author: Jacob Spainhour <[email protected]> Date: Fri Jan 17 15:24:42 2025 -0700 More examples commit 90409bd Author: Jacob Spainhour <[email protected]> Date: Thu Jan 16 00:44:17 2025 -0700 Add example commit 9d1d366 Author: Jacob Spainhour <[email protected]> Date: Wed Jan 15 23:41:07 2025 -0700 Set up example commit 0f1870b Author: Jacob Spainhour <[email protected]> Date: Wed Jan 15 02:32:37 2025 -0700 Minor adjustments commit 9586a2e Author: Jacob Spainhour <[email protected]> Date: Sun Jan 12 23:01:19 2025 -0700 Add another visualization function commit 7ced522 Author: Jacob Spainhour <[email protected]> Date: Sun Jan 12 23:00:33 2025 -0700 Update with improved algorithm commit 46aef52 Author: Jacob Spainhour <[email protected]> Date: Fri Jan 10 14:13:22 2025 -0700 Add some misc debugging commit 651f8cd Author: Jacob Spainhour <[email protected]> Date: Fri Jan 10 14:08:39 2025 -0700 Mildly cleaned up commit 62a200e Author: Jacob Spainhour <[email protected]> Date: Thu Jan 9 14:09:36 2025 -0700 Debugging statements and files commit 64b6e4d Author: Jacob Spainhour <[email protected]> Date: Thu Jan 9 14:09:09 2025 -0700 Make more flexible to trimming curves commit 3f5e8f7 Author: Jacob Spainhour <[email protected]> Date: Thu Jan 9 14:08:45 2025 -0700 Improve trimming curve access methods commit b443295 Author: Jacob Spainhour <[email protected]> Date: Thu Jan 9 14:08:30 2025 -0700 Loosen tolerances on knot space validity commit cc469b2 Merge: b11da2c 9b2a9eb Author: Jacob Spainhour <[email protected]> Date: Wed Jan 8 12:04:06 2025 -0700 Merge branch 'feature/kweiss/opencascade-example' into feature/spainhour/trimming_curve_support commit b11da2c Author: Jacob Spainhour <[email protected]> Date: Tue Jan 7 22:33:03 2025 -0700 Initial commit of trimming curve nonsense commit 6c12bb1 Author: Jacob Spainhour <[email protected]> Date: Thu Dec 19 15:10:15 2024 -0700 Compatible (but incorrect) version with new intersect routines commit 8f48fdb Author: Jacob Spainhour <[email protected]> Date: Mon Dec 16 15:09:11 2024 -0700 Fix a typo! commit 0ad8233 Author: Jacob Spainhour <[email protected]> Date: Mon Oct 7 14:27:29 2024 -0600 Simplify jump condition checking commit 32f6a8c Author: Jacob Spainhour <[email protected]> Date: Mon Oct 7 14:26:12 2024 -0600 Update debug statements commit b7d083b Author: Jacob Spainhour <[email protected]> Date: Thu Oct 3 01:59:58 2024 -0600 Make working version on current test commit 8fd1ac7 Author: Jacob Spainhour <[email protected]> Date: Thu Oct 3 01:59:12 2024 -0600 Add buffer region to intersect commit f776928 Author: Jacob Spainhour <[email protected]> Date: Mon Sep 30 17:41:06 2024 -0600 Add subdivision to account for coincident points commit dc47419 Author: Jacob Spainhour <[email protected]> Date: Fri Sep 27 14:29:44 2024 -0600 Adjust some numerical tolerances commit 40bcce7 Author: Jacob Spainhour <[email protected]> Date: Fri Sep 27 14:28:46 2024 -0600 Update with reasonable confidence commit f97e575 Author: Jacob Spainhour <[email protected]> Date: Fri Sep 20 12:28:14 2024 -0600 Make consistent with new methods commit d5bea15 Author: Jacob Spainhour <[email protected]> Date: Fri Sep 20 12:27:38 2024 -0600 Add "isBilinear", make tolerances absolute commit 132e8f1 Author: Jacob Spainhour <[email protected]> Date: Fri Sep 20 12:27:20 2024 -0600 Add a "line" class for ease of implementation commit 07cc186 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 19 17:30:58 2024 -0600 Correct subpatch intersection routines commit fa776d3 Author: Jacob Spainhour <[email protected]> Date: Thu Sep 19 10:04:42 2024 -0600 Add GARP algorithm (ray-bilinear intersection) commit 6ad7e2d Author: Jacob Spainhour <[email protected]> Date: Tue Sep 17 21:24:58 2024 -0600 Debugging updates commit 16e3708 Author: Jacob Spainhour <[email protected]> Date: Tue Sep 17 21:24:33 2024 -0600 Greatly consolidate casting WN algorithm commit 80896f9 Author: Jacob Spainhour <[email protected]> Date: Tue Sep 17 15:21:10 2024 -0600 Temporary recreation of PR commit 2aba29f Author: Jacob Spainhour <[email protected]> Date: Mon Sep 16 17:38:42 2024 -0600 Debugging print statements commit e742610 Author: Jacob Spainhour <[email protected]> Date: Mon Sep 16 17:38:05 2024 -0600 Add simple intersection routine commit 79a70df Author: Jacob Spainhour <[email protected]> Date: Thu Sep 5 08:50:31 2024 -0600 Begin adding new 3D GWN algorithm commit 425ab6e Author: Jacob Spainhour <[email protected]> Date: Thu Sep 5 08:32:52 2024 -0600 Start bezier-patch intersection (not working) commit c8b71de Author: Jacob Spainhour <[email protected]> Date: Mon Sep 2 23:13:57 2024 -0600 Add the ray-bezier intersection routine from the paper commit 50a98fa Author: Jacob Spainhour <[email protected]> Date: Mon Sep 2 22:52:47 2024 -0600 Actual, real bugfix commit 91801f7 Author: Jacob Spainhour <[email protected]> Date: Mon Sep 2 22:52:34 2024 -0600 Temporary debug printing commit 20977ac Author: Jacob Spainhour <[email protected]> Date: Thu Aug 8 00:06:45 2024 -0600 Initial vtk tests
0b33270 to
043e8a8
Compare
…//github.com/LLNL/axom into feature/spainhour/winding_number_memoization
…//github.com/LLNL/axom into feature/spainhour/winding_number_memoization
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice improvements @jcs15c and great performance numbers!
Please update the RELEASE_NOTES.
src/axom/primal/operators/detail/winding_number_3d_memoization.hpp
Outdated
Show resolved
Hide resolved
src/axom/primal/operators/detail/winding_number_3d_memoization.hpp
Outdated
Show resolved
Hide resolved
src/axom/primal/operators/detail/winding_number_3d_memoization.hpp
Outdated
Show resolved
Hide resolved
src/axom/primal/operators/detail/winding_number_3d_memoization.hpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice speedups.
…//github.com/LLNL/axom into feature/spainhour/winding_number_memoization
| * | ||
| * \param [in] query The query point to test | ||
| * \param [in] nurbs_cache The NURBS curve cache data object containing memoized values | ||
| * \param [in] isOnCurve Set to true is the query point is on the curve |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isOnCurve should be [out] or [inout]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect all the Doxygen should be reviewed for this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very true. There's a couple of places where the [in]/[out]/[inout] labels are missing altogether. I'll go through and double-check everything.
This PR is ready to go (assuming cooperation with the Gitlab CI), but I'm waiting to merge it until I'm back in office on 9/30, since it isn't critical for the upcoming release.
Summary
The current 2D and 3D algorithms currently compute redundant information between evaluation at different query points, namely evaluations of the curve/surface. This PR is an algorithm refactoring/enhancement that addresses this by utilizing memoization for performance improvements. A
NURBSCurveGWNCacheorNURBSPatchGWNCacheobject stores the original NURBS object along with map(s) that stores these intermediate values as they are used in the GWN algorithm:These methods are compatible with user supplied cache objects, but are also constructed automatically in cases where the GWN algorithm is called on arrays of query points to simplify use.
Note that these acceleration techniques are currently not reflected in the winding number sampling shaper code in quest, namely because these methods are built on
CurvedPolygonobjects which contain Bezier, not NURBS curves. This will be addressed in a future PR.Some lingering questions that can hopefully be thought about during review:
GWNCachethe correct label for these objects? Conceivably, there could be other kinds of memoization strategies that involve curves/surfaces, but other geometric operations, such as closest point.Performance Improvements
To evaluate the performance improvement of the 3D memoization scheme, I've executed this block of code on this branch and develop on my local laptop. On a release build, this code executed in 13.8 minutes on develop and 10.3 seconds on this branch.
For 2D, we run this block of code, which takes 108ms on the current develop branch and 18ms on the current branch.
Additional changes and bugfixes
quest_winding_number.cppexample to utilize cached NURBS curves.NURBSPatch::expandParameterSpacemethod that allows the patch to the expanded differently along each axis.isHalfOpenoption for ray-bezier intersection tests.