-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Batch kernels for forward pass of Preprocessing #2
Conversation
…ssian-rasterization into mlsys/batched_preprocess
…s_gaussians function.
…ssian-rasterization into mlsys/batched_preprocess
…er in __init__.py
…of math.tan in test_batched_gaussian_rasterizer_batch_processing function
…hed inputs in __init__.py
…asterizer_batch_processing functions in rasterization_tests.py
…asterizer_batch_processing functions in rasterization_tests.py
…hed inputs in __init__.py
…ao/diff-gaussian-rasterization into mlsys/batched_preprocess
…asterizer_batch_processing functions in rasterization_tests.py
…asterizer_batch_processing functions in rasterization_tests.py
…asterizer_batch_processing functions in rasterization_tests.py
… non-matching values
… non-matching values
…of batched_raster_settings
…nd result_idx instead of only idx.
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.
We get a significant speedup. Looks good.
elapsed_time_ms = start_event.elapsed_time(end_event) | ||
print(f"Time taken by test_batched_gaussian_rasterizer_batch_processing: {elapsed_time_ms:.4f} ms") | ||
|
||
# TODO: make the below work |
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.
This should work
for means2D in batched_means2D:
means2D.retain_grad()
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've reviewed the code, and I think it's good; it can be merged.
viewpoint_camera.image_width = 512 | ||
viewpoint_camera.world_view_transform = torch.eye(4).cuda() | ||
viewpoint_camera.full_proj_transform = torch.eye(4).cuda() | ||
viewpoint_camera.camera_center = torch.zeros(3).cuda() |
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.
Let us change torch.zeros
to be non-zero values and test it in tomorrow meeting.
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.
Fix bug for non zero camera centers and test for non identity view transforms
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.
Tested for these. Will check in those with the backward kernel PR #3
Changes
preprocess_gaussians_batched
GaussianRasterizerBatches
Results
Tests ran on V100
Time taken by test_batched_gaussian_rasterizer: 81.2411 ms
Time taken by test_batched_gaussian_rasterizer_batch_processing: 33.5708 ms