autonomousvision / differentiable_volumetric_rendering

This repository contains the code for the CVPR 2020 paper "Differentiable Volumetric Rendering: Learning Implicit 3D Representations without 3D Supervision"
http://www.cvlibs.net/publications/Niemeyer2020CVPR.pdf
MIT License
794 stars 90 forks source link

check_ray_intersection_with_unit_cube bottlenecking CPU #69

Closed ruoshiliu closed 2 years ago

ruoshiliu commented 2 years ago

Hi, I was running your code on a custom dataset and I noticed the GPU utilization rate is pretty low due to the method check_ray_intersection_with_unit_cube bottlenecking the CPU. First of all, do you notice this during your experiments? What's a typical GPU utilization rate for you? If this is the case for you as well, I was wondering if setting use_cube_intersection: false and using depth_range will potentially hurt the model performance?

Would really appreciate if you can share some insights on this. Thanks in advanced!

m-niemeyer commented 2 years ago

Hi @ruoshiliu , yeah we run the above-mentioned on CPU - developing a custom CUDA kernel for this will for sure speed things up quite a bit! If you choose an appropriate depth_range, you can also drop the use_cube_intersection function; we used it such that no tuning of range is required. Best of luck for your research !

ruoshiliu commented 2 years ago

That makes sense. Thank you for your suggestion!