-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add proof of concept #2
Conversation
@@ -272,7 +271,7 @@ void test_spots(RealType) | |||
BOOST_CHECK_EQUAL(kurtosis_excess(arcsine_01), -1.5); // 3/2 | |||
BOOST_CHECK_EQUAL(support(arcsine_01).first, 0); // | |||
BOOST_CHECK_EQUAL(range(arcsine_01).first, 0); // | |||
BOOST_MATH_CHECK_THROW(mode(arcsine_01), std::domain_error); // Two modes at x_min and x_max, so throw instead. | |||
BOOST_CHECK_THROW(mode(arcsine_01), std::domain_error); // Two modes at x_min and x_max, so throw instead. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just checking... do we need these changes to the tests, or is it just a side effect of merging in an old branch?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was having compilation issues with BOOST_MATH_CHECK_THROW
but the version from Boost.Test worked just fine. Since the tests are already using Boost.test for everything else I figured it wasn't a big change.
Thanks for this Matt! Some random thoughts that have occurred to me:
would do the trick, same for msvc.
|
Could be worth a try. Peter also pointed me to: https://github.com/tee3/boost-build-nvcc.
I didn't realize you could do that without the hardware installed.
I have this installed on my local machine as well. ChatGPT says I should just be able to replace
The CUDA threads are similar to CPU fibers so only the thread gets terminated not the entire process on an assertion. Since all of the assertions are using our own macro it would be easy to replace them with nothing if |
I have the one test running fine locally with CUDA:
I'll see if changing some macros around enables support for SYCL. |
The beta function is now green with both SYCL and CUDA |
Merging this since it's generally synchronized with the linked PR in math |
Closes: #1
Based off @jzmaddock original PR here: boostorg/math#127
The rules seem to be more relaxed than in the original PR.
assert
andstatic_assert
are allowed. Static variables are still not allowed, but I think that can be worked around using C++17'sinline
variables for global variables. The runner is using NVIDIA Tesla T4 (arch 70), and the CI provides version 12.5.0 of the NVIDIA toolkit which is the latest available. Locally I am using RHEL 9.4 with an RTX 3060 (arch 85) with the same version of the NVIDIA toolkit.CC: @NAThompson, @ckormanyos