2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-19 04:22:09 +00:00

7319 Commits

Author SHA1 Message Date
Matt Borland
ef970501b7 Add test set 2024-10-03 12:18:03 -04:00
Matt Borland
ad68aee637 Merge pull request #1201 from boostorg/GPU_batch_13
GPU Batch 13
2024-09-19 09:56:43 -04:00
Matt Borland
9f21419b2d Fix overflow policy definition location on MS platforms 2024-09-18 12:51:13 -04:00
Matt Borland
7bd5348abc Remove using statements for complex functions 2024-09-18 09:59:26 -04:00
Matt Borland
bbb8eee1d6 Add GPU support to expint
Add SYCL testing of expint

Add markers to forward decls

Add CUDA testing of expint

Fix static variable usage under NVRTC

Add NVRTC testing

Add configurable definition of complex

Add function aliases

Add GPU support to gegenbauer polynomials

Add SYCL testing of gegenbauer

Add NVCC testing of gegenbauer

Add NVRTC testing of gegenbauer

Add GPU support for hankel

Add SYCL testing of hankel

Add NVCC testing of cyl_hankel_1

Add comprehensive NVCC testing

Add NVRTC testing of cyl and sph hankel

Update docs

Fix writing cuda::std::complex<T> to stdout

Add GPU support to hermite

Add SYCL testing of hermite

Add CUDA testing of hermite

Add NVRTC testing of hermite

Add markers to hermite docs
2024-09-17 15:24:02 -04:00
Matt Borland
c3afa49c9a Merge pull request #1200 from boostorg/GPU_batch_12
GPU Batch 12
2024-09-17 15:23:06 -04:00
Matt Borland
dbb547b5ac Fix CUDA only macro for NVRTC 2024-09-16 16:34:02 -04:00
Matt Borland
f985ba209e Fix windows cases of overflow error 2024-09-16 15:12:40 -04:00
Matt Borland
1324401c92 Add GPU support to airy functions
Add SYCL testing of ariy functions

Add CUDA testing of airy functions

Add NVRTC testing of airy functions

Add GPU support to ellint rc

Add GPU support to ellint rd

Add GPU support to ellint rf

Add GPU support to ellint rg

Add GPU support to ellint rj

Add GPU support to ellint d

Add GPU support to ellint_1

Markup forward and add ellint_3 return type def for NVRTC platform

Add CUDA testing of ellint 1

NVRTC fixes

Add NVRTC testing of ellint_1

Add GPU support to ellint_2

Add CUDA testing of ellint_2

Fix NVRTC errors

Add NVRTC testing of ellint_2

Add GPU support to atanh

Add GPU support to ellint_3

Add NVRTC testing of ellint_3

Add CUDA testing of ellint_3

Replace use of static const char*

Add SYCL testing of ellint_1

Add SYCL testing of ellint 2 with slight tolerance bump

Remove recursion from ellint_rj

Add ellint_d CUDA testing

Add NVRTC testing of ellint_d

Add SYCL testing of ellint_d

Remove SYCL ellint_3 support

Update docs

Add GPU support to jacobi zeta

Add CUDA testing of jacobi zeta

Add NVRTC testing of jacobi zeta

Add SYCL testing of jacobi zeta

Add GPU support to heuman_lambda

Add NVRTC testing of heuman lambda

Add CUDA testing of heuman_lambda

Add SYCL testing of heuman lambda

Add markers to docs

Add marker for CUDA only functions in the docs
2024-09-16 14:04:14 -04:00
Lucas Colley
ff72eaad44 cmake: directly define project version (#1199)
Co-authored-by: Peter Dimov <pdimov@gmail.com>
2024-09-16 08:55:10 -04:00
Matt Borland
885fd95daa Merge pull request #1196 from boostorg/GPU_Batch_11
GPU Batch 11
2024-09-16 08:41:54 -04:00
Matt Borland
b5214b5935 Add device only impl
Add function for device only impl

Fix function signatures

Fix arrays

Add basic test for compilation

Allow serial implementation to be run on host under NVCC

Add verification steps

Add arrays of levels coefficient sizes

Cleanup test set

Add double test set

Add structure for the doubles support

Save space by using pointer to different size arrays rather than 2d

Separate the double precision weights into their own arrays

Remove stray call to std::abs

Add NVRTC testing

Add documentation section

Add device function signature for sinh_sinh_integrate

Add float coefficients

Add double coeffs

Add device specific impl

Add sinh_sinh CUDA testing

Add sinh_sinh NVRTC testing
2024-09-12 10:25:17 -04:00
Matt Borland
937107ac82 Merge pull request #1193 from boostorg/GPU10
GPU Batch 10
2024-09-09 12:55:40 -04:00
Matt Borland
84a7bdd11f Merge pull request #1195 from boostorg/1194
Fix removed tgamma error handling path
2024-09-09 12:54:55 -04:00
Matt Borland
9d133071d0 Fix removed error check 2024-09-09 10:28:00 -04:00
Matt Borland
d2fe8e388d Add test set 2024-09-09 10:03:03 -04:00
jzmaddock
cb06899356 Catch evaluation_error's in temme_method_2_ibeta_inverse (#1175)
Catch evaluation_error's in temme_method_2_ibeta_inverse
fixes https://github.com/boostorg/math/issues/1169.
Add test case.
2024-09-07 17:36:39 +01:00
Matt Borland
e9cd6c96fd Add GPU support to normal dist
Add SYCL testing of normal dist

Add CUDA testing of normal dist

Add NVRTC testing of normal dist

NVRTC fixes

Move headers for NVRTC support

Add GPU support to inverse gaussian dist

Add NVRTC testing of inverse Gaussian dist

Add CUDA testing of inverse gaussian dist

Add SYCL testing of inverse gaussian dist

Add GPU support to lognormal dist

Add SYCL testing of lognormal dist

Add CUDA testing of lognormal dist

Add nvrtc testing of lognormal dist

Add GPU support to negative binomial dist

Avoid float_prior on GPU platform

Add NVRTC testing of negative binomial dist

Fix ambiguous use of nextafter

Add CUDA testing of negative binomial dist

Fix float_prior workaround

Add SYCL testing of negative binomial dist

Add GPU support to non_central_beta dist

Add SYCL testing of nc beta dist

Add CUDA testing of nc beta dist

Enable generic dist handling on GPU

Add GPU support to brent_find_minima

Add NVRTC testing of nc beta dist

Add utility header

Replace non-functional macro with new function

Add GPU support to non central chi squared dist

Add SYCL testing of non central chi squared dist

Add missing macro definition

Markup generic quantile finder

Add CUDA testing of non central chi squared dist

Add NVRTC testing of non central chi squared dist

Add GPU support to the non-central f dist

Add SYCL testing of ncf

Add CUDA testing of ncf dist

Add NVRTC testing of ncf dist

Add GPU support to students_t dist

Add SYCL testing of students_t dist

Add CUDA testing of students_t

Add NVRTC testing of students_t dist

Workaround for header cycle

Add GPU support to pareto dist

Add SYCL testing of pareto dist

Add CUDA testing of pareto dist

Add NVRTC testing of pareto dist

Add missing header

Add GPU support to poisson dist

Add SYCL testing of poisson dist

Add CUDA testing of poisson dist

Add NVRTC testing of poisson dist

Add forward decl for NVRTC platform

Add GPU support to rayleigh dist

Add CUDA testing of rayleigh dist

Add SYCL testing of rayleigh dist

Add NVRTC testing of rayleigh dist

Add GPU support to triangular dist

Add SYCL testing of triangular dist

Add NVRTC testing of triangular dist

Add CUDA testing of triangular dist

Add GPU support to the uniform dist

Add CUDA testing of uniform dist

Add SYCL testing of uniform dist

Add NVRTC testing of uniform dist

Fix missing header

Add markers to docs
2024-09-06 12:10:18 -04:00
Matt Borland
1e9b2ccbf9 Merge pull request #1191 from boostorg/gpu_docs
Begin documenting GPU support
2024-09-06 11:28:23 -04:00
Matt Borland
54c229bbdb Merge pull request #1192 from boostorg/gpu_batch_9
GPU Batch 9
2024-09-06 11:27:55 -04:00
René Ferdinand Rivera Morell
41f07b0794 Add support for modular build structure. (#1160)
* Make the library modular usable.

* Fix -Wundef warnings

* Switch to library requirements instead of source. As source puts extra source in install targets.

* Add missing NO_LIB usage requirements.

* Remove boost-root relative include path.

* Add missing import-search for cconfig/predef checks.

* Add requires-b2 check to top-level build file.

* Sync upstream.

* Fix typo in test framework reference.

* Bump B2 require to 5.2

* Update copyright dates.

* Move inter-lib dependencies to a project variable and into the build targets.

* Switch to /boost/test//included target for header only mode of Boost.Test.

* Adjust doc build to avoid boost-root references.

* Update build deps.

* Fix project props not applying to the no_eh.obj compile.

* Update build deps.

* Add missing import-search.

* Fix float128_type checks to actually disable tests. Problem was that build is a non-free feature. Which can't be acquired through a usage requirement.

* GPU Batch 7

Fix igamma_large support on device

Add GPU support to toms748

Add GPU support to igamma_inv

Add GPU markers to gamma_inva

Add GPU Markers to lgamma_small

Remove STL usage from gamma

Remove NVRTC workaround

Fix fraction use of STL headers

Mark gamma functions in fwd

Disable declval on all GPU platforms

Disable more unneeded code on device

Add forward decl for NVRTC tgamma

Disable unneeded items for all GPU

Change workaround for missing overloads

Rearrange definition location

Add include path to cuda now that workaround is removed

Fix NVRTC incompatibility with recursion and forward decls

Add tgamma_ratio CUDA and NVRTC testing

Fix NVRTC handling of gamma_p_derivative

Add gamma_p_derivative CUDA and NVRTC testing

Remove recursion from gamma_incomplete_imp

Add SYCL testing of igamma, igamma_inv, and igamma_inva

Ignore literal-range warnings

Remove use of static const char* for function name

Fix missing CUDA header

Remove calls under NVRTC to fwd decl

Add more nvrtc workarounds

Use builtin erfc instead of header cycle

Add CUDA and NVRTC testing of gamma_p_inv

Adjust tolerances

Add GPU support to chi squared dist

Fix static local variable

Add chi squared dist SYCL testing

Add chi squared dist CUDA testing

Add chi squared dist NVRTC testing

Add GPU support to weibull dist

Add weibull dist SYCL testing

Add weibull dist CUDA testing

Add weibull dist NVRTC testing

* Fix policy macro definition for MSVC platforms

* Don't add quadmath lib for has_128bit_floatmax_t check. It was accidentally copy+pasted.

* Fix incorrect name for float128 type check that caused it to not apear.

---------

Co-authored-by: Matt Borland <matt@mattborland.com>
2024-09-06 08:45:23 -04:00
Matt Borland
d01893d215 Add GPU markers to fisher f dist
Add SYCL testing of fisher f dist

Add CUDA fisher f dist testing

Add NVRTC fisher f dist testing

Add GPU support to gamma dist

Add SYCL testing of gamma dist

Add CUDA gamma dist testing

Add NVRTC gamma dist testing

Reduce number of threads per block since it can crash CI

Add GPU support to the geometric dist

Add SYCL testing of geometric dist

Add cuda::std::tie

Add GPU support to inv_discrete_quantile

Add CUDA testing of geometric dist

Add NVRTC testing of geometric dist

Add SYCL testing of inverse_chi_squared dist

Adjust tol

Add NVRTC inverse chi squared dist testing

Add CUDA inverse chi squared dist testing

Add GPU support to inverse gamma dist

Add SYCL testing to inverse gamma dist

Add NVRTC testing of inverse gamma dist

Add CUDA testing of inverse gamma dist
2024-09-04 11:07:17 -04:00
Matt Borland
45c774137d Update docs 2024-09-04 11:05:38 -04:00
Matt Borland
b8c33953e6 Fix missing end section 2024-09-03 10:33:56 -04:00
Matt Borland
2def550bfe Replace broken umalut-o with oe (Ersatzschreibung) 2024-09-03 10:10:48 -04:00
Matt Borland
e6db32aa0a Add markers to Newton-Rhapson 2024-09-03 10:10:44 -04:00
Matt Borland
846b7a60d1 Add markers to special functions 2024-09-03 10:10:41 -04:00
Matt Borland
a3adb94aca Add GPU markers to supported dists docs 2024-09-03 10:10:38 -04:00
Matt Borland
82adb328e7 Annotate GPU markers in constants doc with type caveat 2024-09-03 10:10:35 -04:00
Matt Borland
814cb6e49f Add overview 2024-09-03 10:10:30 -04:00
Matt Borland
ab57b2093e Merge pull request #1189 from boostorg/GPU8
GPU Batch 8
2024-09-03 10:08:22 -04:00
Matt Borland
adf8abd346 Apply GPU markers to ibeta_inv_ab
Remove NVRTC workaround

Apply GPU markers to ibeta_inverse

Apply GPU markers to t_dist_inv

Fix warning suppression

Add dispatch function and remove workaround

Move disabling block

Make binomial GPU enabled

Add SYCL testing of ibeta

Add SYCL testing of ibeta_inv

Add SYCL testing of ibeta_inv_ab

Add SYCL testing of full beta suite

Add makers to fwd decls

Add special forward decls for NVRTC

Add betac nvrtc testing

Add betac CUDA testing

Add ibeta CUDA testing

Add ibeta NVRTC testing

Add ibetac NVRTC testing

Add ibeta_derviative testing to nvrtc

Add ibeta_derivative CUDA testing

Add cbrt policy overload for NVRTC

Fix NVRTC definition of BOOST_MATH_IF_CONSTEXPR

Add ibeta_inv and ibetac_inv NVRTC testing

Fix make pair helper on device

Add CUDA testing of ibeta_inv* and ibetac_inv*

Move location so that it also works on NVRTC

Add NVRTC testing of ibeta_inv* and ibetac_inv*

Fixup test sets since they ignore the policy

Make the beta dist GPU compatible

Add beta dist SYCL testing

Add beta dist CUDA testing

Add beta dist NVRTC testing
2024-08-30 13:46:01 -04:00
Matt Borland
0002de0b85 Merge pull request #1187 from boostorg/GPU_Batch_7
GPU Batch 7
2024-08-30 12:23:02 -04:00
Matt Borland
9ed738f259 Fix policy macro definition for MSVC platforms 2024-08-27 17:19:37 -04:00
Matt Borland
e4a01104d0 GPU Batch 7
Fix igamma_large support on device

Add GPU support to toms748

Add GPU support to igamma_inv

Add GPU markers to gamma_inva

Add GPU Markers to lgamma_small

Remove STL usage from gamma

Remove NVRTC workaround

Fix fraction use of STL headers

Mark gamma functions in fwd

Disable declval on all GPU platforms

Disable more unneeded code on device

Add forward decl for NVRTC tgamma

Disable unneeded items for all GPU

Change workaround for missing overloads

Rearrange definition location

Add include path to cuda now that workaround is removed

Fix NVRTC incompatibility with recursion and forward decls

Add tgamma_ratio CUDA and NVRTC testing

Fix NVRTC handling of gamma_p_derivative

Add gamma_p_derivative CUDA and NVRTC testing

Remove recursion from gamma_incomplete_imp

Add SYCL testing of igamma, igamma_inv, and igamma_inva

Ignore literal-range warnings

Remove use of static const char* for function name

Fix missing CUDA header

Remove calls under NVRTC to fwd decl

Add more nvrtc workarounds

Use builtin erfc instead of header cycle

Add CUDA and NVRTC testing of gamma_p_inv

Adjust tolerances

Add GPU support to chi squared dist

Fix static local variable

Add chi squared dist SYCL testing

Add chi squared dist CUDA testing

Add chi squared dist NVRTC testing

Add GPU support to weibull dist

Add weibull dist SYCL testing

Add weibull dist CUDA testing

Add weibull dist NVRTC testing
2024-08-27 15:32:21 -04:00
Matt Borland
66b362aec5 Merge pull request #1185 from dschmitz89/cauchy_docs
DOC: fix Cauchy CDF formula
2024-08-23 14:49:43 -04:00
dschmitz89
98622966ec DOC: fix Cauchy CDF formula 2024-08-23 20:34:35 +02:00
Matt Borland
8d92f8fe0a Merge pull request #1184 from boostorg/GPU_Batch_6
GPU Batch 6
2024-08-22 10:05:38 -04:00
Matt Borland
047c206c30 Add bessel GPU support
Add GPU support to bessel_i0

Add CUDA and NVRTC testing

Add GPU support to bessel_i1

Add CUDA and NVRTC testing of bessel_i1

Add tgamma1pm1 NVRTC impl

Add GPU support to iconv

Add GPU test to bessel_ik

Add SYCL testing of complete bessel_i

Add GPU support to bessel_j0

Ignore BOOST_MATH_INSTRUMENT_VARIABLE on NVRTC

Add bessel J0 CUDA and NVRTC testing

Add GPU support to bessel_j1

Add bessel j1 CUDA and NVRTC testing

Add GPU support to bessel jn and jy

Add SYCL bessel j testing

Add bessel_k0 GPU support

Add bessel_k0 CUDA and NVRTC testing

Add GPU support to bessel_k1

Add bessel_k1 CUDA and NVRTC testing

Add GPU support to bessel_kn

Add bessel_kn CUDA and NVRTC testing

Add SYCL testing of complete bessel_k

Make newton-rhapson GPU compatible

Make the completed bessel functions GPU compatible

Add SYCL bessel y testing

Apply changes for non-empty policy on CUDA

Add NVCC cyl_bessel_i testing

Add GPU support to sinc

Add GPU support to series functions

Add GPU support to bessel_jy_zero

Add array helper type

Make hypot GPU safe

Make bessel_yX GPU capable

Add bessel_y0 and bessel_y1 CUDA testing

Add nvrtc testing of bessel_y0 and bessel_y1

Fix macros

Add missing header

Add missing header

Markup iconv

Add iround for NVRTC

Add tgamma1pm1 with policy overload for NVRTC

Disable header

Fix factorial support for CUDA platforms

Add definition of bessel traits

Add cyl_bessel_i NVRTC testing

Fix cyl_bessel_jy warnings

Fix CUDA forward declarations

Fix maybe-unused variable warning

Add CUDA cyl_bessel_j testing

Add sign overload for lgamma

Fix warnings

Add NVRTC cyl_bessel_j testing

Add NVCC sph_bessel testing

Add NVRTC testing of sph_bessel

Add NVRTC testing of cyl_bessel_k

Add NVCC testing of cyl_bessel_k

Add NVCC testing of cyl_neumann

Add NVRTC cyl_neumann testing

Add NVRTC sph_neumann testing

Add NVCC sph_neumann testing
2024-08-20 16:52:06 -04:00
Matt Borland
1d40454024 Merge pull request #1182 from boostorg/NVRTC_6
NVRTC Batch 6
2024-08-19 13:38:09 -04:00
Matt Borland
1add05ba5e Add missing header 2024-08-16 09:38:36 -04:00
Matt Borland
d0acb067dc Replace workaround cstdint macros 2024-08-16 09:38:30 -04:00
Matt Borland
b57dfe4e70 Add trigamma NVRTC testing 2024-08-16 09:38:26 -04:00
Matt Borland
87c320f6ea Add NVRTC support to trigamma 2024-08-16 09:38:22 -04:00
Matt Borland
937cc01e2b Add NVRTC support to pow 2024-08-16 09:38:17 -04:00
Matt Borland
993eee29af Add beta NVRTC testing 2024-08-16 09:38:13 -04:00
Matt Borland
c0201c3d37 Add NVRTC support to beta 2024-08-16 09:38:09 -04:00
Matt Borland
460f9976d6 Add missing macro specialization 2024-08-16 09:38:04 -04:00
Matt Borland
3273f31c67 Add CUDA support to lanczos 2024-08-16 09:37:59 -04:00
Matt Borland
f519e4e3da Disable on NVRTC for now 2024-08-16 09:37:55 -04:00