-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix CMake not adding some tests #104
Conversation
Now the CI is picking up all tests. |
Will do! |
@RaulPPelaez good call with that 20min time out, it got stuck in a loop https://github.com/openmm/NNPOps/actions/runs/5085521894/jobs/9139106717 |
It does not seem stuck in a loop to me, it seems like it just takes too long. The waterbox test does take a long time in the CPU. See one of the CPU CI's https://github.com/openmm/NNPOps/actions/runs/5078935616/jobs/9124055531?pr=104 |
Also, no idea where this error comes from and why its only there in the GPU runner: 8: deviceString = 'cpu', molFile = '1hvj'
8:
8: @pytest.mark.parametrize('deviceString', ['cpu', 'cuda'])
8: @pytest.mark.parametrize('molFile', ['1hvj', '1hvk', '2iuz', '3hkw', '3hky', '3lka', '3o99'])
8: def test_model_serialization(deviceString, molFile):
8:
8: if deviceString == 'cuda' and not torch.cuda.is_available():
8: pytest.skip('CUDA is not available')
8:
8: from NNPOps.EnergyShifter import TorchANIEnergyShifter
8:
8: device = torch.device(deviceString)
8:
8: > mol = mdtraj.load(os.path.join(molecules, f'{molFile}_ligand.mol2'))
8:
8: test/TestEnergyShifter.py:80:
8: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
8: ../3/envs/nnpops/lib/python3.10/site-packages/mdtraj/core/trajectory.py:396: in load
8: kwargs["top"] = _parse_topology(kwargs.get("top", filename_or_filenames[0]), **topkwargs)
8: ../3/envs/nnpops/lib/python3.10/site-packages/mdtraj/core/trajectory.py:181: in _parse_topology
8: topology = load_mol2(top, **kwargs).topology
8: ../3/envs/nnpops/lib/python3.10/site-packages/mdtraj/formats/mol2.py:91: in load_mol2
8: atoms, bonds = mol2_to_dataframes(filename)
8: ../3/envs/nnpops/lib/python3.10/site-packages/mdtraj/formats/mol2.py:200: in mol2_to_dataframes
8: data = dict((key, list(grp)) for key, grp in itertools.groupby(f, _parse_mol2_sections))
8: ../3/envs/nnpops/lib/python3.10/site-packages/mdtraj/formats/mol2.py:200: in <genexpr>
8: data = dict((key, list(grp)) for key, grp in itertools.groupby(f, _parse_mol2_sections))
8: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
8:
8: self = <encodings.ascii.IncrementalDecoder object at 0x7fb6956f8520>
8: input = b'@<TRIPOS>MOLECULE\n A78\n 115 118 0 0 0\nSMALL\nUSER_CHARGES\n\n\n@<TRIPOS>ATOM\n 1 C1 ....8968 -1.7691 16.1457 hc 1 A78 0.039867\n 104 H47 9.7154 -5.7103 17.7810 hc 1 '
8: final = False
8:
8: def decode(self, input, final=False):
8: > return codecs.ascii_decode(input, self.errors)[0]
8: E UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 217: ordinal not in range(128)
8:
8: ../3/envs/nnpops/lib/python3.10/encodings/ascii.py:26: UnicodeDecodeError |
I've done this before with pytest + decorators. I'll first try bumping up the time-out first. I thought it was a loop since I wasn't looking closely and thought it kept running the same pytest tests, but now I see they are separate invocations. RE It does seem to be consistent. It shows up only for I will also look at cuda versions of the test since that will save time and money, but I want to get everything passing first. Thank you for your patience on this! |
looks like it is all the same file... maybe there is something weird with it? I'll see if I can reproduce on aws |
There is something weird with the file
|
Viewing the file, it does have junk in it: @RaulPPelaez @raimis |
What are you saying! Thank you, man!
I have no idea. |
There are other strange chars in that file:
Seems to me like that |
Ah i have seen this error before but it went away with a different MDTraj version so I didn’t investigate further |
I haven't really looked into how the tests are using this file, so perhaps the |
Seems like the issue with the non-ascii files was fixed. All tests pass inyour GPU runner! |
So this should be good to merge in, any objections? |
Requested some reviewers |
One of the tests fails to install CUDA with "no space left on device", it happens sometimes and I do not think we can do anything about it. I will trigger a rerun |
Success! Please review again @peastman |
Looks good as far as I can tell. |
Sweet, I will re-run the GPU tests to make sure we are good and if they pass I will get this merged in! |
Solves #98