Using Different Computers for cmake and ctest

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Using Different Computers for cmake and ctest

Brian S
I currently use cmake/ctest to build and test my software. The software is C++/CUDA. During the build step I don't need a GPU but in the test step I do. I would like to build the code with cmake on a cluster with many CPUs and then run the tests using ctest on a target machine with a GPU. Is this possible?

I have thought about using nvidia-docker but that only works on one of my target platforms.

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Using Different Computers for cmake and ctest

Alexander Neundorf
On 2018 M07 18, Wed 09:49:47 CEST Brian S wrote:
> I currently use cmake/ctest to build and test my software. The software is
> C++/CUDA. During the build step I don't need a GPU but in the test step I
> do. I would like to build the code with cmake on a cluster with many CPUs
> and then run the tests using ctest on a target machine with a GPU. Is this
> possible?

as far as I know this is currently not possible.
I would also like to do that, to test the same executable on a set of
different clusters (or at least with a different number of nodes. For that
there is no need to rebuild the project multiple times.

For tests, cmake generates CTestTestFile.cmake.
These are executed when running a test.
Copying the buildtree somewhere and then see what happens when you run ctest.
E.g. RPATHs probably won't be correct. The tests may also have references into
the source directory.

Having a nice way to do this properly would be nice IMO :-)

Alex

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Using Different Computers for cmake and ctest

Juan E. Sanchez
Hi,

CTest should work.  You would just need to set the paths to the
executable you want to test.  In my case, I have my tests in a different
repository than my source code.

Regards,

Juan

On 8/6/18 3:00 PM, Alexander Neundorf wrote:

> On 2018 M07 18, Wed 09:49:47 CEST Brian S wrote:
>> I currently use cmake/ctest to build and test my software. The software is
>> C++/CUDA. During the build step I don't need a GPU but in the test step I
>> do. I would like to build the code with cmake on a cluster with many CPUs
>> and then run the tests using ctest on a target machine with a GPU. Is this
>> possible?
>
> as far as I know this is currently not possible.
> I would also like to do that, to test the same executable on a set of
> different clusters (or at least with a different number of nodes. For that
> there is no need to rebuild the project multiple times.
>
> For tests, cmake generates CTestTestFile.cmake.
> These are executed when running a test.
> Copying the buildtree somewhere and then see what happens when you run ctest.
> E.g. RPATHs probably won't be correct. The tests may also have references into
> the source directory.
>
> Having a nice way to do this properly would be nice IMO :-)
>
> Alex
>

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Using Different Computers for cmake and ctest

Bo Zhou
In reply to this post by Brian S
Maybe you could improve the CTest system to allow execute remotely, by a shared file system to hold the all built binary files, and do a RPC-like test, and redirect the all output and terminate code from the target GPU machine, it should be able to work.

On Wed, Jul 18, 2018 at 10:50 PM Brian S <[hidden email]> wrote:
I currently use cmake/ctest to build and test my software. The software is C++/CUDA. During the build step I don't need a GPU but in the test step I do. I would like to build the code with cmake on a cluster with many CPUs and then run the tests using ctest on a target machine with a GPU. Is this possible?

I have thought about using nvidia-docker but that only works on one of my target platforms.
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake