Bug #3372
Feature #3311: GPU infrastructure development
Task #3312: Data type for coordinates, xyzq data, LJ parameters data to use for GPU buffers
Re-enable RVec and float3 compatibility tests
Description
After c5c220a03663d975e31e8573c1849247ce3f8ad0 (https://gerrit.gromacs.org/#/c/gromacs/+/15439/), the tests were giving "'cuda_runtime.h' file not found" warning when compiled in post-submit with clang 8, cuda 10.0, -DGMX_COMPILER_WARNINGS=ON. Since no fast solution was found to the problem, the tests were temporary disabled by https://gerrit.gromacs.org/#/c/gromacs/+/15738/.
Associated revisions
Refactor and enable RVec to float conversion test
Since using CUDA directly in Google tests is not always possible,
this patch moves the cuda-specific code into separate runner file.
Also the RVec->float3 casting function is moved into new header,
thus eliminating inclusion of the cuda runtime in the tests. The
test file is renamed to reflect what is actually tested.
Fixes the post submit failure introduced in
c5c220a03663d975e31e8573c1849247ce3f8ad0, which was first avoided
by disabling the test in e91b744e8cbf2038a4dddce0609a33f396902bb5.
Fixes #3372.
Change-Id: Ie6423876e7725766109f74fdd3e76a24188b0b18
Add missing header and disable failing test
Fixes the issues, introduced in dd0439e0a189e0c28e738afe283ce3a71513aaa6.
Refs. #3372.
Change-Id: Ibced28fef1057598793b81142d555016208db424
Fix the RVec to float3 conversion test
The test was not running when there were no GPUs availible,
but the code was compiled with CUDA.
Refs. #3372.
Change-Id: I8dd51eafe9a17d880ce8f8b126c7de692e061e81
History
#1 Updated by Artem Zhmurov 11 months ago
- Status changed from New to Resolved
Applied in changeset dd0439e0a189e0c28e738afe283ce3a71513aaa6.
#2 Updated by Artem Zhmurov 11 months ago
When run in GPU kernel the test fail.
Build config: gcc-7 gpuhw=none cuda-10.0 openmp no-tng release-with-assert host=bs_mi
Jenkins: http://jenkins.gromacs.org/job/Matrix_OnDemand/2185/
Failure:
[ RUN ] GpuDataTypesCompatibilityTest.RVecAndFloat3OnDevice
22:49:58 /home/jenkins/workspace/Matrix_OnDemand/837856d2/gromacs/src/gromacs/gpu_utils/tests/typecasts.cpp:74: Failure
22:49:58 Value of: rVecInput
22:49:58 Expected: contains 2 values, where each value and its corresponding value in { 12-byte object <90-7A BE-00 00-00 00-00 00-00 40-40>, 12-byte object <00-00 80-40 00-00 A0-40 00-00 C0-40> } matches all elements within tolerance
22:49:58 Actual: { 12-byte object <00-00 80-3F 00-00 00-40 00-00 40-40>, 12-byte object <00-00 80-40 00-00 A0-40 00-00 C0-40> }, where the value pair (12-byte object <00-00 80-3F 00-00 00-40 00-00 40-40>, 12-byte object <90-7A BE-00 00-00 00-00 00-00 40-40>) at index #0 don't match, Actual value: 1.74927e-38
22:49:58 Expected value: 1
22:49:58 Difference: 1 (1052870000 single-prec. ULPs, rel. 1)
22:49:58 Tolerance: 0 ULPs
22:49:58 [ FAILED ] GpuDataTypesCompatibilityTest.RVecAndFloat3OnDevice (0 ms)
#3 Updated by Artem Zhmurov 11 months ago
- Status changed from Resolved to In Progress
#4 Updated by Artem Zhmurov 10 months ago
- Status changed from In Progress to Closed
Temporary disable RVec->float3 conversion test to fix the post-submit
This fixes the post-submit matrix by disabling the faulty test. Will
be retracted once the proper soultion is found.
Refs. #3372.
Change-Id: I28031bc4793ce283c42539f4029cfe6bc2651156