high performance set-up + one constant value in array of parameter?

79 views
Skip to first unread message

Ursela Barte

unread,
Mar 2, 2022, 4:28:24 AM3/2/22
to Ceres Solver
Hi there,
I am just getting started with my master thesis and a bit of a newbie in Informatics and groups like this, so excuse any basic questions.

1. So far, I installed ceres on my PC and already was able to run some small experiments. Since I am handling a huge amount of data and many parameters, it would be good to be able to run ceres not on my PC but on some external resources. So far it does not yet run on GPU, is that correct? How can I set up a VM or such to have an optimal performance?

2. I have an array of parameters. One of the values in the array should remain constant. Is there a way to do this with Ceres? I came across SetParameterBlockConstant(), but I think that would refer to the whole array?

Thanks for any tips!

Sameer Agarwal

unread,
Mar 2, 2022, 9:03:50 AM3/2/22
to ceres-...@googlegroups.com
Ursela,
What sized problems are you trying to solve?
We recently added support for solving some kinds of problems using the GPU. It available at HEAD.
To set one parameter constant, you can use SubsetParameterization.
Sameer


--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/ccac6469-c44e-41da-b094-c54aac99d1fen%40googlegroups.com.

1262871536

unread,
Mar 2, 2022, 9:03:57 AM3/2/22
to Sameer Agarwal' via Ceres Solver <>
这是来自QQ邮箱的假期自动回复邮件。

您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。

Ursela Barte

unread,
Mar 2, 2022, 11:17:24 AM3/2/22
to Ceres Solver
Hi Sameer,
thanks for the super quick reply! It´s basically a curve fitting problem, with ~3000 observations, ~500 features and 4 parameter arrays of length 500. Does that answer the size question?
Is the GPU support already implemented for that kind of problem?
Cheers
Ursela

1262871536

unread,
Mar 2, 2022, 11:17:33 AM3/2/22
to Ursela Barte

Sameer Agarwal

unread,
Mar 2, 2022, 11:20:33 AM3/2/22
to ceres-...@googlegroups.com
Thats a relatively small problem. I suggest using DENSE_QR as your linear solver and computing analytic derivatives.
DENSE_QR can be accelerated using CUDA but if you have a good quality LAPACK/BLAS (say Intel MKL) that should also do just fine.
Sameer


1262871536

unread,
Mar 2, 2022, 11:20:40 AM3/2/22
to Sameer Agarwal' via Ceres Solver <>

Yingmo Wang

unread,
Mar 2, 2022, 11:29:54 AM3/2/22
to Ceres Solver
Hello Sameer!
     I felt very excited when I heard about the coming GPU acceleration ability.   Can the SPARSE_NORMAL_CHOLESKY be accelerated using CUDA in the future version?

1262871536

unread,
Mar 2, 2022, 11:30:04 AM3/2/22
to Yingmo Wang

Sameer Agarwal

unread,
Mar 2, 2022, 11:38:57 AM3/2/22
to ceres-...@googlegroups.com, Joydeep Biswas
Hi Yingmo,
+Joydeep Biswas is working on it. The CUDA support for sparse cholesky factorization is still in its early stages though, so its not clear to me how fast it is going to be in practice. Sparse factorizations are not really GPU friendly operations.
Sameer


1262871536

unread,
Mar 2, 2022, 11:39:04 AM3/2/22
to Sameer Agarwal' via Ceres Solver <>

Joydeep Biswas

unread,
Mar 2, 2022, 2:15:39 PM3/2/22
to Sameer Agarwal, ceres-...@googlegroups.com
Hi Yingmo,

Glad to hear of your interest in Ceres+CUDA!
I recommend first understanding the objectives you are seeking to optimize, and the hardware you have available. Depending on whether this is to maximize for speed, or for offload from CPU, and the platform you are running on, you might want to choose between CUDA Dense QR or a platform-specific optimized LAPACK, such as Intel MKL. You should run some experiments to compare between them and see which fits your needs.

We are working on incorporating Sparse CUDA support, but this is an endeavor without a clear deadline in sight since the CuSparse support in CUDA is still preliminary and it's unclear how advantageous it would be.

If you have a specific problem in mind (ideally with source code) that would help us plan future Ceres + CUDA developments, please do share!

Regards,
Joydeep

 

1262871536

unread,
Mar 2, 2022, 2:15:46 PM3/2/22
to Joydeep Biswas
Reply all
Reply to author
Forward
0 new messages