Commit Graph

6 Commits

Author SHA1 Message Date
Tyler Hovanec b221b12941 Format code with clang-format.
This was created from a clean repo and running `./scripts/format_all.sh`

Change-Id: I0837e74bc74462da3ce5e7fbae9d03033a910c58
2022-10-26 11:40:41 +00:00
Joydeep Biswas c964fce90c Fix bug in cuda_kernels_test
* Use the context stream, not the default stream, since all
  CUDA operations now operate on the context stream.

Change-Id: I24c872c467f13ee4d276fc04d6822b79a18070fc
2022-09-22 13:16:41 -05:00
Joydeep Biswas fc826c5780 CUDA Cleanup
* All Cuda* objects now take in a ContextImpl* during
  construction, and save the context instead of individual
  handles.
* Since we no longer use the legacy default stream, we need to
  explicitly synchronize the stream before performing GPU->CPU
  transfers, and CudaBuffer is responsible for such synchronization
  when asked to perform GPU to CPU transfers.
* Remove all manual syncs and relegate syncing to CudaBuffer
  before performing GPU to CPU transfers.

Change-Id: Ic73cb24174a1e09842827323280e90241716cc20
2022-09-19 10:02:53 -05:00
Sameer Agarwal 6085e45be7 Minor CUDA cleanup.
1. ceres_cuda_kernels.cu -> cuda_kernels.cu.cc
2. Add missing ifdef guards.
3. Fix an errant namespace

Change-Id: I81a5bfbe3c795ff0b3ef41c3bcaa037b99d5b254
2022-08-17 16:27:13 -07:00
Sameer Agarwal 04899645cc LinearOperator::FooMultiply -> LinearOperator::FooMultiplyAndAccumulate
These methods were historically poorly named and every time I read code
I get confused whether they are just multiplying or multiplying and
adding. Clarifying them also gives us the changce to introduce
RightMultiply and LeftMultiply methods in the base class which will
simplify a number call sites in a subsequent CL.

Fixes https://github.com/ceres-solver/ceres-solver/issues/855

Change-Id: Ice4fb483f1acd02527a6dd753ef0c5a66037f4b0
2022-08-10 10:03:03 -07:00
Joydeep Biswas d8dad14eed CUDA Cleanup
* Renamed several interfaces to CudaBuffer for clarity and consistency.
* Added unit tests for custom Cuda kernels.
* Set specific CUDA architectures if the CMake version supports it.

Change-Id: I269fb1089b80b25e17bca772ef8d70e7894214b8
2022-08-07 07:44:32 +00:00