Skip to content
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

Any way to run all tests / determine current Intel brokeness level? #34

Closed
skyreflectedinmirrors opened this issue Sep 20, 2016 · 6 comments

Comments

@skyreflectedinmirrors
Copy link
Contributor

skyreflectedinmirrors commented Sep 20, 2016

Is there any method to run all the test_whatever.py in the top test/ directory?
I am developing a chemical kinetics library which I hope to accelerate on CPU/GPU via loo.py. This means I will need to support Intel CPUs (which I will be developing on).

I see that in auto_test.py the function:

_enumerate_cl_devices_for_ref_test

seems to exclude Intel as a target for being buggy. Fair.
I commented this out to see where Intel's OpenCL support stands (I have the most recent version--2017--of parallel studio cluster edition installed), but now I can't figure out how to run all tests (apart from running each script individually)

@skyreflectedinmirrors skyreflectedinmirrors changed the title Any way to run all tests? Any way to run all tests / determine current Intel brokeness level? Sep 20, 2016
@skyreflectedinmirrors
Copy link
Contributor Author

Related to this, it would be useful if the test dependencies (seemingly compyte) were listed somewhere and/or on pypi :)

@dokempf
Copy link
Contributor

dokempf commented Sep 20, 2016

For compyte, I recommend cloning with --recursive as it is a submodule!

@skyreflectedinmirrors
Copy link
Contributor Author

ahhh, that explains it!

@skyreflectedinmirrors
Copy link
Contributor Author

I still get several errors of the form:
E ImportError: No module named compyte.dtypes

when running python test/test_target.py.
I assume this from my incorrect calling of the tests?

@inducer
Copy link
Owner

inducer commented Sep 20, 2016

Is there any method to run all the test_whatever.py in the top test/ directory?

loopy/test$ python -m pytest

(runs all tests on all available CL implementations)

or

loopy/test$ PYOPENCL_TEST=int python -m pytest

(runs all tests on all CL implementations whose name includes the case-insensitive substring int, e.g. "Intel")

Related to this, it would be useful if the test dependencies (seemingly compyte) were listed somewhere and/or on pypi :)

As @dokempf points out, it's a git submodule. As for pypi, the compyte bits are included in the tarball, so there's no reason to have a separate download.

I still get several errors of the form: E ImportError: No module named compyte.dtypes

Did you reinstall after grabbing the compyte sources?

I see that in auto_test.py the function: _enumerate_cl_devices_for_ref_test seems to exclude Intel as a target for being buggy.

What auto_test does is run your code twice: untransformed (ref_knl) on a CPU and transformed (knl) wherever you said it should be run, and then it compares the results of both runs. The code that you saw only determines what CPU implementations are eligible for the "reference" run. The non-reference run takes place wherever you specified above ("everywhere" or a specific implementation).

Intel has gotten good enough that (at least newer versions of it) should probably no longer be on the blacklist. AMD CPU on the other hand has gotten bad enough that it probably should be blacklisted.

I hope this resolves your concern. If not, please reopen this bug.

@inducer inducer closed this as completed Sep 20, 2016
@skyreflectedinmirrors
Copy link
Contributor Author

Yup, all fixed thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants