scm2cpp-lasso 0.10.0__tar.gz → 0.12.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {scm2cpp_lasso-0.10.0/src/scm2cpp_lasso.egg-info → scm2cpp_lasso-0.12.0}/PKG-INFO +45 -2
- scm2cpp_lasso-0.10.0/PKG-INFO → scm2cpp_lasso-0.12.0/README.md +43 -18
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/pyproject.toml +3 -3
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/setup.py +9 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/__init__.py +563 -10
- scm2cpp_lasso-0.12.0/src/scm2cpp_lasso/_generated/_loader_accel_cublas.py +140 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader_classifiers.py +71 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader_gramops_blas.py +117 -5
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader_gramops_loops.py +117 -5
- scm2cpp_lasso-0.12.0/src/scm2cpp_lasso/_generated/accel_cublas/accel.cpp +20 -0
- scm2cpp_lasso-0.12.0/src/scm2cpp_lasso/_generated/accel_cublas/accel.hpp +1023 -0
- scm2cpp_lasso-0.12.0/src/scm2cpp_lasso/_generated/accel_cublas/accel_capi.cpp +64 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/classifiers.cpp +8 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/classifiers.hpp +548 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/classifiers_capi.cpp +24 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/gramops_blas/gramops.cpp +14 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/gramops_blas/gramops.hpp +805 -9
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/gramops_blas/gramops_capi.cpp +46 -4
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/gramops_loops/gramops.cpp +14 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/gramops_loops/gramops.hpp +981 -111
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/gramops_loops/gramops_capi.cpp +46 -4
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_libfind.py +12 -0
- scm2cpp_lasso-0.10.0/README.md → scm2cpp_lasso-0.12.0/src/scm2cpp_lasso.egg-info/PKG-INFO +61 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso.egg-info/SOURCES.txt +4 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/setup.cfg +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/__init__.py +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader.py +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader_derived_blas.py +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader_derived_cublas.py +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader_derived_loops.py +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader_nmf_blas.py +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader_nmf_cublas.py +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/_loader_nmf_loops.py +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/derived_blas/lasso_design.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/derived_blas/lasso_design.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/derived_blas/lasso_design_capi.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/derived_cublas/lasso_design.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/derived_cublas/lasso_design.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/derived_cublas/lasso_design_capi.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/derived_loops/lasso_design.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/derived_loops/lasso_design.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/derived_loops/lasso_design_capi.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/lasso_cov.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/lasso_cov.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/lasso_cov_capi.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/nmf_blas/nmf_cd.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/nmf_blas/nmf_cd.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/nmf_blas/nmf_cd_capi.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/nmf_cublas/nmf_cd.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/nmf_cublas/nmf_cd.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/nmf_cublas/nmf_cd_capi.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/nmf_loops/nmf_cd.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/nmf_loops/nmf_cd.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/nmf_loops/nmf_cd_capi.cpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/scm2cpp-blas.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/scm2cpp-cublas.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/_generated/scm2cpp.hpp +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso/batch_capi.cu +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso.egg-info/dependency_links.txt +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso.egg-info/requires.txt +0 -0
- {scm2cpp_lasso-0.10.0 → scm2cpp_lasso-0.12.0}/src/scm2cpp_lasso.egg-info/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: scm2cpp-lasso
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: scikit-learn estimators (lasso, elastic net, ridge, ARD, SVM, SVR, logistic regression, Huber, NMF, Gaussian mixture, FastICA, PCA, graphical lasso, RANSAC, SGD, OMP, LARS) translated from Scheme to C++ by scm2cpp; GPU batch solver included
|
|
3
|
+
Version: 0.12.0
|
|
4
|
+
Summary: scikit-learn estimators (lasso, elastic net, ridge, ARD, SVM, SVR, logistic regression, GLMs, Huber, Theil-Sen, F-score selection, RFE, NMF, Gaussian mixture, FastICA, PCA, graphical lasso, RANSAC, SGD, OMP, LARS) translated from Scheme to C++ by scm2cpp; GPU batch solver included
|
|
5
5
|
Author: Hirotaka Niitsuma
|
|
6
6
|
License: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/niitsuma/scm2cpp
|
|
@@ -690,6 +690,49 @@ L1LinearSVM(C=1.0).fit(X, y).coef_
|
|
|
690
690
|
Speed, from the repository README's table: SGD 1.2-3x, ARD 1.6-1.9x
|
|
691
691
|
(3x with the Gram hoisted), LassoLarsIC 8-20x, the L1 SVM 1.1-1.5x.
|
|
692
692
|
|
|
693
|
+
## GLMs, CV and Theil-Sen: `LBFGSPoissonRegressor`, `LBFGSGammaRegressor`, `LBFGSTweedieRegressor`, `LBFGSLogisticRegressionCV`, `GramLarsCV`, `GramLassoLarsCV`, `GramOMPCV`, `WeiszfeldTheilSen`
|
|
694
|
+
|
|
695
|
+
- The GLMs are `PoissonRegressor`, `GammaRegressor` and
|
|
696
|
+
`TweedieRegressor` (solver "lbfgs"), over the same L-BFGS-B as
|
|
697
|
+
`LBFGSLogisticRegression`.
|
|
698
|
+
- The CV classes reproduce `LogisticRegressionCV`, `LarsCV`,
|
|
699
|
+
`LassoLarsCV` and `OrthogonalMatchingPursuitCV`: the same folds (KFold
|
|
700
|
+
/ StratifiedKFold without shuffling), the same choice of C, alpha or
|
|
701
|
+
number of columns, and the same refit.
|
|
702
|
+
- `WeiszfeldTheilSen` is `TheilSenRegressor` on scikit-learn's own
|
|
703
|
+
subsets.
|
|
704
|
+
|
|
705
|
+
```python
|
|
706
|
+
from scm2cpp_lasso import LBFGSPoissonRegressor, LBFGSLogisticRegressionCV, GramLassoLarsCV
|
|
707
|
+
LBFGSPoissonRegressor(alpha=1e-3).fit(X, counts).predict(X_new)
|
|
708
|
+
LBFGSLogisticRegressionCV().fit(X, labels).C_
|
|
709
|
+
GramLassoLarsCV().fit(X, y).alpha_
|
|
710
|
+
```
|
|
711
|
+
|
|
712
|
+
Speed, from the repository README's table: the GLMs 1.1-6x, the CV
|
|
713
|
+
estimators 1.6-6.6x, Theil-Sen 1.3-1.8x (its subset drawing dominates).
|
|
714
|
+
|
|
715
|
+
## Feature selection: `f_regression`, `f_classif`, `SelectKBest`, `SelectPercentile`, `GramRFE`
|
|
716
|
+
|
|
717
|
+
scikit-learn's univariate F statistics and its selectors over them,
|
|
718
|
+
and `RFE` around `Ridge` / `LinearRegression`, translated.
|
|
719
|
+
`f_regression` also takes an n x q array of targets: the q results in
|
|
720
|
+
one product, on the device when one answers.
|
|
721
|
+
|
|
722
|
+
```python
|
|
723
|
+
from scm2cpp_lasso import SelectKBest, GramRFE, f_regression
|
|
724
|
+
SelectKBest("f_regression", k=20).fit(X, y).get_support()
|
|
725
|
+
GramRFE(alpha=1.0, n_features_to_select=10).fit(X, y).ranking_
|
|
726
|
+
F, p = f_regression(X, Y) # Y: n x q, every target at once
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
The same scores, ranking and features as scikit-learn. RFE is 80-1,000x
|
|
730
|
+
faster (one Gram and one Cholesky factor, downdated, instead of a refit
|
|
731
|
+
per round), and f_regression over many targets 30-50x. The Gram-route
|
|
732
|
+
estimators (`GramLassoLarsIC`, `GramLarsCV`, `GramLassoLarsCV`,
|
|
733
|
+
`GramLars`, `GramLassoLars`, `CovPCA`) form a large X'X on the device
|
|
734
|
+
when one answers. `SCM2CPP_NO_DEVICE=1` keeps everything on the CPU.
|
|
735
|
+
|
|
693
736
|
## Logistic regression with L1
|
|
694
737
|
|
|
695
738
|
`CovLogistic` solves L1-penalized logistic regression by
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: scm2cpp-lasso
|
|
3
|
-
Version: 0.10.0
|
|
4
|
-
Summary: scikit-learn estimators (lasso, elastic net, ridge, ARD, SVM, SVR, logistic regression, Huber, NMF, Gaussian mixture, FastICA, PCA, graphical lasso, RANSAC, SGD, OMP, LARS) translated from Scheme to C++ by scm2cpp; GPU batch solver included
|
|
5
|
-
Author: Hirotaka Niitsuma
|
|
6
|
-
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/niitsuma/scm2cpp
|
|
8
|
-
Project-URL: Source, https://github.com/niitsuma/scm2cpp/tree/master/python/scm2cpp-lasso
|
|
9
|
-
Keywords: lasso,elastic-net,ridge,svm,logistic-regression,coordinate-descent,cuda,compiler
|
|
10
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: C++
|
|
13
|
-
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
14
|
-
Classifier: Intended Audience :: Science/Research
|
|
15
|
-
Requires-Python: >=3.8
|
|
16
|
-
Description-Content-Type: text/markdown
|
|
17
|
-
Requires-Dist: numpy>=1.17
|
|
18
|
-
|
|
19
1
|
# scm2cpp-lasso
|
|
20
2
|
|
|
21
3
|
*[Japanese (README.ja.md)](README.ja.md)*
|
|
@@ -690,6 +672,49 @@ L1LinearSVM(C=1.0).fit(X, y).coef_
|
|
|
690
672
|
Speed, from the repository README's table: SGD 1.2-3x, ARD 1.6-1.9x
|
|
691
673
|
(3x with the Gram hoisted), LassoLarsIC 8-20x, the L1 SVM 1.1-1.5x.
|
|
692
674
|
|
|
675
|
+
## GLMs, CV and Theil-Sen: `LBFGSPoissonRegressor`, `LBFGSGammaRegressor`, `LBFGSTweedieRegressor`, `LBFGSLogisticRegressionCV`, `GramLarsCV`, `GramLassoLarsCV`, `GramOMPCV`, `WeiszfeldTheilSen`
|
|
676
|
+
|
|
677
|
+
- The GLMs are `PoissonRegressor`, `GammaRegressor` and
|
|
678
|
+
`TweedieRegressor` (solver "lbfgs"), over the same L-BFGS-B as
|
|
679
|
+
`LBFGSLogisticRegression`.
|
|
680
|
+
- The CV classes reproduce `LogisticRegressionCV`, `LarsCV`,
|
|
681
|
+
`LassoLarsCV` and `OrthogonalMatchingPursuitCV`: the same folds (KFold
|
|
682
|
+
/ StratifiedKFold without shuffling), the same choice of C, alpha or
|
|
683
|
+
number of columns, and the same refit.
|
|
684
|
+
- `WeiszfeldTheilSen` is `TheilSenRegressor` on scikit-learn's own
|
|
685
|
+
subsets.
|
|
686
|
+
|
|
687
|
+
```python
|
|
688
|
+
from scm2cpp_lasso import LBFGSPoissonRegressor, LBFGSLogisticRegressionCV, GramLassoLarsCV
|
|
689
|
+
LBFGSPoissonRegressor(alpha=1e-3).fit(X, counts).predict(X_new)
|
|
690
|
+
LBFGSLogisticRegressionCV().fit(X, labels).C_
|
|
691
|
+
GramLassoLarsCV().fit(X, y).alpha_
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
Speed, from the repository README's table: the GLMs 1.1-6x, the CV
|
|
695
|
+
estimators 1.6-6.6x, Theil-Sen 1.3-1.8x (its subset drawing dominates).
|
|
696
|
+
|
|
697
|
+
## Feature selection: `f_regression`, `f_classif`, `SelectKBest`, `SelectPercentile`, `GramRFE`
|
|
698
|
+
|
|
699
|
+
scikit-learn's univariate F statistics and its selectors over them,
|
|
700
|
+
and `RFE` around `Ridge` / `LinearRegression`, translated.
|
|
701
|
+
`f_regression` also takes an n x q array of targets: the q results in
|
|
702
|
+
one product, on the device when one answers.
|
|
703
|
+
|
|
704
|
+
```python
|
|
705
|
+
from scm2cpp_lasso import SelectKBest, GramRFE, f_regression
|
|
706
|
+
SelectKBest("f_regression", k=20).fit(X, y).get_support()
|
|
707
|
+
GramRFE(alpha=1.0, n_features_to_select=10).fit(X, y).ranking_
|
|
708
|
+
F, p = f_regression(X, Y) # Y: n x q, every target at once
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
The same scores, ranking and features as scikit-learn. RFE is 80-1,000x
|
|
712
|
+
faster (one Gram and one Cholesky factor, downdated, instead of a refit
|
|
713
|
+
per round), and f_regression over many targets 30-50x. The Gram-route
|
|
714
|
+
estimators (`GramLassoLarsIC`, `GramLarsCV`, `GramLassoLarsCV`,
|
|
715
|
+
`GramLars`, `GramLassoLars`, `CovPCA`) form a large X'X on the device
|
|
716
|
+
when one answers. `SCM2CPP_NO_DEVICE=1` keeps everything on the CPU.
|
|
717
|
+
|
|
693
718
|
## Logistic regression with L1
|
|
694
719
|
|
|
695
720
|
`CovLogistic` solves L1-penalized logistic regression by
|
|
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "scm2cpp-lasso"
|
|
7
|
-
version = "0.
|
|
8
|
-
description = "scikit-learn estimators (lasso, elastic net, ridge, ARD, SVM, SVR, logistic regression, Huber, NMF, Gaussian mixture, FastICA, PCA, graphical lasso, RANSAC, SGD, OMP, LARS) translated from Scheme to C++ by scm2cpp; GPU batch solver included"
|
|
7
|
+
version = "0.12.0"
|
|
8
|
+
description = "scikit-learn estimators (lasso, elastic net, ridge, ARD, SVM, SVR, logistic regression, GLMs, Huber, Theil-Sen, F-score selection, RFE, NMF, Gaussian mixture, FastICA, PCA, graphical lasso, RANSAC, SGD, OMP, LARS) translated from Scheme to C++ by scm2cpp; GPU batch solver included"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
11
11
|
license = {text = "MIT"}
|
|
@@ -31,4 +31,4 @@ package-dir = {"" = "src"}
|
|
|
31
31
|
where = ["src"]
|
|
32
32
|
|
|
33
33
|
[tool.setuptools.package-data]
|
|
34
|
-
scm2cpp_lasso = ["_generated/*.hpp", "_generated/*.cpp", "_generated/derived_*/*.hpp", "_generated/derived_*/*.cpp", "_generated/nmf_*/*.hpp", "_generated/nmf_*/*.cpp", "_generated/gramops_*/*.hpp", "_generated/gramops_*/*.cpp", "*.cu"]
|
|
34
|
+
scm2cpp_lasso = ["_generated/*.hpp", "_generated/*.cpp", "_generated/derived_*/*.hpp", "_generated/derived_*/*.cpp", "_generated/nmf_*/*.hpp", "_generated/nmf_*/*.cpp", "_generated/gramops_*/*.hpp", "_generated/gramops_*/*.cpp", "_generated/accel_*/*.hpp", "_generated/accel_*/*.cpp", "*.cu"]
|
|
@@ -211,4 +211,13 @@ if _cuda is not None:
|
|
|
211
211
|
extra_compile_args=CXXFLAGS + ["-O3", "-fstrict-overflow"],
|
|
212
212
|
))
|
|
213
213
|
|
|
214
|
+
extensions.append(Extension(
|
|
215
|
+
"scm2cpp_lasso._accel_cublas",
|
|
216
|
+
sources=[GEN_REL + "/accel_cublas/accel_capi.cpp"],
|
|
217
|
+
include_dirs=[GEN_REL + "/accel_cublas", GEN_REL, str(_cuda / "include")],
|
|
218
|
+
library_dirs=[str(_cuda / "lib64"), str(_cuda / "lib")],
|
|
219
|
+
libraries=["cublas", "cudart"],
|
|
220
|
+
extra_compile_args=CXXFLAGS + ["-O3", "-fstrict-overflow"],
|
|
221
|
+
))
|
|
222
|
+
|
|
214
223
|
setup(ext_modules=extensions, cmdclass={"build_ext": BuildWithCuda})
|