Skip to content

Feature/rust quadtree #320

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

Open
wants to merge 29 commits into
base: feature/try_to_merge_irregular_grid_develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
d81dd66
add rust quadtree
mathleur Feb 7, 2025
00ba795
compile rust and update gitignore
mathleur Feb 7, 2025
9f1e505
add python wrap to rust code
mathleur Feb 7, 2025
3f7d1b2
modify gitignore
mathleur Feb 7, 2025
4038a40
expose quadpoint and find_nodes_in function to python from rust
mathleur Feb 10, 2025
2af2842
add rust python interface
mathleur Feb 11, 2025
d4f6d3a
use quadtree in rust to extract data
mathleur Feb 11, 2025
8918bdb
try to take references instead of copying rust children
mathleur Feb 12, 2025
23cf10b
try to take references instead of copying rust children
mathleur Feb 12, 2025
244d15d
clean up quadtree rust
mathleur Feb 14, 2025
6081dd7
NOT WORKING - try to only give back point indexes to python from rust
mathleur Feb 14, 2025
4feecae
fix bug - STILL EXTRACTION IS SLOW
mathleur Feb 14, 2025
d0d5eea
start rewriting rust quadtree as an arena
mathleur Feb 17, 2025
fb95423
finish rewriting quadtree as an arena
mathleur Feb 18, 2025
4509c54
add quadtree arena with python integration into polytope
mathleur Feb 19, 2025
183aea1
change rust arena to not use arc mutexes
mathleur Feb 19, 2025
eebe402
only expose necessary functions to python
mathleur Feb 19, 2025
f2c774d
improve time to build quadtree
mathleur Feb 19, 2025
827d386
faster rust quadtree arena
mathleur Feb 19, 2025
25bcd60
make quadtree slightly faster to extract
mathleur Feb 19, 2025
4a717ce
fix tests
mathleur Feb 19, 2025
2da14ac
clean up
mathleur Feb 20, 2025
bf186d6
try not copying rust
mathleur Mar 1, 2025
5806a1d
add rust profiler
mathleur Mar 3, 2025
bbeedce
try to make quadtree optimisation work again
mathleur Mar 3, 2025
fb72742
fix optimisation step
mathleur Mar 3, 2025
d0dbf64
optimise code
mathleur Mar 4, 2025
277c1af
change test
mathleur Mar 4, 2025
d553484
change test example
mathleur Mar 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,6 @@ newest-polytope-venv
*.pstats
*.profile
new_polytope_venv
*.json
*.json
polytope_feature/datacube/quadtree/target
venv_python3_11
1 change: 0 additions & 1 deletion polytope_feature/datacube/backends/fdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,6 @@ def get(self, requests: TensorIndexTree, context=None):
for i, key in enumerate(compressed_request[0].keys()):
uncompressed_request[key] = combi[i]
complete_uncompressed_request = (uncompressed_request, compressed_request[1], self.grid_md5_hash)
print(self.grid_md5_hash)
complete_list_complete_uncompressed_requests.append(complete_uncompressed_request)
complete_fdb_decoding_info.append(fdb_requests_decoding_info[j])

Expand Down
295 changes: 295 additions & 0 deletions polytope_feature/datacube/quadtree/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions polytope_feature/datacube/quadtree/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[package]
name = "quadtree"
version = "0.1.0"
edition = "2021"

[dependencies]
pyo3 = { version = "0.20", features = ["extension-module"] }

[lib]
crate-type = ["cdylib"]
Loading