pointnet-autoencoder icon indicating copy to clipboard operation
pointnet-autoencoder copied to clipboard

Run on a machine with a CPU only

Open mrquincle opened this issue 5 years ago • 7 comments

Does it run using CPU rather than GPU?

I see there are _cpu specific files in https://github.com/charlesq34/pointnet-autoencoder/tree/master/tf_ops/nn_distance. So I guess the GPU dependency is not really necessary. However, the approxmatch directory seems to be GPU only?

It would be great to quickly iterate over new algorithms on a machine that does not support CUDA and after that switch to a machine with a GPU.

mrquincle avatar Jan 16 '19 20:01 mrquincle

Have you found a version supports CPU?

Colorfu1 avatar Apr 23 '19 10:04 Colorfu1

Yes, on https://github.com/mrquincle/latent_3d_points I've used https://github.com/optas/latent_3d_points. At https://github.com/optas/latent_3d_points/blob/master/external/structural_losses/ you see implementations for both CPU and GPU that work out of the box.

mrquincle avatar Apr 23 '19 12:04 mrquincle

Hi @mrquincle , would you please explain what do you mean by "to iterate over new algorithms"?

It would be great to quickly iterate over new algorithms on a machine that does not support CUDA and after that switch to a machine with a GPU.

I would appreciate it if you could give an example.

Peon26 avatar Jul 25 '19 11:07 Peon26

I mean "to quickly test and adapt algorithms" on a machine that only has a CPU, so say 50 steps would be sufficient to see its behavior. Finally, when I'm done with algorithm design I run it on a system with a GPU to run up to 10.000 steps.

It's just an argument to also provide a CPU implementation for the poor people that have no GPU. :-)

mrquincle avatar Jul 25 '19 14:07 mrquincle

However, I found CPU implementations, so you can close this issue.

mrquincle avatar Jul 25 '19 14:07 mrquincle

Yes, on https://github.com/mrquincle/latent_3d_points I've used https://github.com/optas/latent_3d_points. At https://github.com/optas/latent_3d_points/blob/master/external/structural_losses/ you see implementations for both CPU and GPU that work out of the box.

HI! Can you tell me how to modify the makefile in the folder that a CPU implementation can be obtained?

Thanks! Best regards, Jin

MiniSkull avatar Sep 28 '20 12:09 MiniSkull

Hi Jin. You'll have to extract it from https://github.com/optas/latent_3d_points/blob/master/external/structural_losses/approxmatch.cpp, create a shared lib, and call it from python. Sorry, it can be annoying indeed. :-)

mrquincle avatar Sep 28 '20 13:09 mrquincle