Project

General

Profile

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

Added by Artem Zhmurov 8 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

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

Revision 48d651f2 (diff)
Added by Artem Zhmurov 8 months ago

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

Revision dd0439e0 (diff)
Added by Artem Zhmurov 7 months ago

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

Revision 7a3efddc (diff)
Added by Artem Zhmurov 7 months ago

Add missing header and disable failing test

Fixes the issues, introduced in dd0439e0a189e0c28e738afe283ce3a71513aaa6.

Refs. #3372.

Change-Id: Ibced28fef1057598793b81142d555016208db424

Revision 90154977 (diff)
Added by Artem Zhmurov 7 months ago

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 7 months ago

  • Status changed from New to Resolved

#2 Updated by Artem Zhmurov 7 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 7 months ago

  • Status changed from Resolved to In Progress

#4 Updated by Artem Zhmurov 6 months ago

  • Status changed from In Progress to Closed

Also available in: Atom PDF