Skip to content

Commit

Permalink
Merge pull request #7 from LeviBarnes/revert-03
Browse files Browse the repository at this point in the history
Restoring PR218 while reverting fea-ext-svm changes
  • Loading branch information
LeviBarnes authored Mar 1, 2019
2 parents d6ff552 + 84fd2df commit 384839c
Show file tree
Hide file tree
Showing 6 changed files with 264 additions and 141 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
- PR #208: Issue ml-common-3: Math.h: swap thrust::for_each with binaryOp,unaryOp
- PR #224: Improve doc strings for readable rendering with readthedocs
- PR #209: Simplify README.md, move build instructions to BUILD.md
- PR #218: Fix RNG to use given seed and adjust RNG test tolerances.
- PR #225: Support for generating random integers
- PR #215: Refactored LinAlg::norm to Stats::rowNorm and added Stats::colNorm
- PR #234: Support for custom output type and passing index value to main_op in *Reduction kernels
Expand Down
4 changes: 2 additions & 2 deletions ml-prims/src/random/rng.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ void randImpl(uint64_t &offset, OutType *ptr, LenType len, Lambda randOp,
cudaStream_t stream = 0) {
if (len <= 0)
return;
uint64_t seed;
uint64_t seed = _nextSeed();
auto newOffset =
_setupSeeds<false, MathType, LenType>(seed, offset, len, nThreads, nBlocks);
switch (type) {
Expand Down Expand Up @@ -141,7 +141,7 @@ void rand2Impl(uint64_t &offset, OutType *ptr, LenType len, Lambda2 rand2Op,
cudaStream_t stream = 0) {
if (len <= 0)
return;
uint64_t seed;
uint64_t seed = _nextSeed();
auto newOffset =
_setupSeeds<true, MathType, LenType>(seed, offset, len, nThreads, nBlocks);
switch (type) {
Expand Down
1 change: 1 addition & 0 deletions ml-prims/test/cov.cu
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ protected:
void SetUp() override {
CUBLAS_CHECK(cublasCreate(&handle));
params = ::testing::TestWithParam<CovInputs<T>>::GetParam();
params.tolerance *= 2;
Random::Rng r(params.seed);
int rows = params.rows, cols = params.cols;
int len = rows * cols;
Expand Down
67 changes: 35 additions & 32 deletions ml-prims/test/mean.cu
Original file line number Diff line number Diff line change
Expand Up @@ -72,41 +72,44 @@ protected:
T *data, *mean_act;
};

// Note: For 1024 samples, 256 experiments, a mean of 1.0 with stddev=1.0, the
// measured mean (of a normal distribution) will fall outside of an epsilon of
// 0.15 only 4/10000 times. (epsilon of 0.1 will fail 30/100 times)
const std::vector<MeanInputs<float>> inputsf = {
{0.1f, 1.f, 1024, 32, true, false, 1234ULL},
{0.1f, 1.f, 1024, 64, true, false, 1234ULL},
{0.1f, 1.f, 1024, 128, true, false, 1234ULL},
{0.1f, 1.f, 1024, 256, true, false, 1234ULL},
{0.1f, -1.f, 1024, 32, false, false, 1234ULL},
{0.1f, -1.f, 1024, 64, false, false, 1234ULL},
{0.1f, -1.f, 1024, 128, false, false, 1234ULL},
{0.1f, -1.f, 1024, 256, false, false, 1234ULL},
{0.1f, 1.f, 1024, 32, true, true, 1234ULL},
{0.1f, 1.f, 1024, 64, true, true, 1234ULL},
{0.12f, 1.f, 1024, 128, true, true, 1234ULL},
{0.1f, 1.f, 1024, 256, true, true, 1234ULL},
{0.1f, -1.f, 1024, 32, false, true, 1234ULL},
{0.1f, -1.f, 1024, 64, false, true, 1234ULL},
{0.12f, -1.f, 1024, 128, false, true, 1234ULL},
{0.1f, -1.f, 1024, 256, false, true, 1234ULL}};
{0.15f, 1.f, 1024, 32, true, false, 1234ULL},
{0.15f, 1.f, 1024, 64, true, false, 1234ULL},
{0.15f, 1.f, 1024, 128, true, false, 1234ULL},
{0.15f, 1.f, 1024, 256, true, false, 1234ULL},
{0.15f, -1.f, 1024, 32, false, false, 1234ULL},
{0.15f, -1.f, 1024, 64, false, false, 1234ULL},
{0.15f, -1.f, 1024, 128, false, false, 1234ULL},
{0.15f, -1.f, 1024, 256, false, false, 1234ULL},
{0.15f, 1.f, 1024, 32, true, true, 1234ULL},
{0.15f, 1.f, 1024, 64, true, true, 1234ULL},
{0.15f, 1.f, 1024, 128, true, true, 1234ULL},
{0.15f, 1.f, 1024, 256, true, true, 1234ULL},
{0.15f, -1.f, 1024, 32, false, true, 1234ULL},
{0.15f, -1.f, 1024, 64, false, true, 1234ULL},
{0.15f, -1.f, 1024, 128, false, true, 1234ULL},
{0.15f, -1.f, 1024, 256, false, true, 1234ULL}};

const std::vector<MeanInputs<double>> inputsd = {
{0.1, 1.0, 1024, 32, true, false, 1234ULL},
{0.1, 1.0, 1024, 64, true, false, 1234ULL},
{0.1, 1.0, 1024, 128, true, false, 1234ULL},
{0.1, 1.0, 1024, 256, true, false, 1234ULL},
{0.1, -1.0, 1024, 32, false, false, 1234ULL},
{0.1, -1.0, 1024, 64, false, false, 1234ULL},
{0.1, -1.0, 1024, 128, false, false, 1234ULL},
{0.1, -1.0, 1024, 256, false, false, 1234ULL},
{0.1, 1.0, 1024, 32, true, true, 1234ULL},
{0.1, 1.0, 1024, 64, true, true, 1234ULL},
{0.1, 1.0, 1024, 128, true, true, 1234ULL},
{0.1, 1.0, 1024, 256, true, true, 1234ULL},
{0.1, -1.0, 1024, 32, false, true, 1234ULL},
{0.1, -1.0, 1024, 64, false, true, 1234ULL},
{0.1, -1.0, 1024, 128, false, true, 1234ULL},
{0.1, -1.0, 1024, 256, false, true, 1234ULL}};
{0.15, 1.0, 1024, 32, true, false, 1234ULL},
{0.15, 1.0, 1024, 64, true, false, 1234ULL},
{0.15, 1.0, 1024, 128, true, false, 1234ULL},
{0.15, 1.0, 1024, 256, true, false, 1234ULL},
{0.15, -1.0, 1024, 32, false, false, 1234ULL},
{0.15, -1.0, 1024, 64, false, false, 1234ULL},
{0.15, -1.0, 1024, 128, false, false, 1234ULL},
{0.15, -1.0, 1024, 256, false, false, 1234ULL},
{0.15, 1.0, 1024, 32, true, true, 1234ULL},
{0.15, 1.0, 1024, 64, true, true, 1234ULL},
{0.15, 1.0, 1024, 128, true, true, 1234ULL},
{0.15, 1.0, 1024, 256, true, true, 1234ULL},
{0.15, -1.0, 1024, 32, false, true, 1234ULL},
{0.15, -1.0, 1024, 64, false, true, 1234ULL},
{0.15, -1.0, 1024, 128, false, true, 1234ULL},
{0.15, -1.0, 1024, 256, false, true, 1234ULL}};

typedef MeanTest<float> MeanTestF;
TEST_P(MeanTestF, Result) {
Expand Down
Loading

0 comments on commit 384839c

Please sign in to comment.