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

Ensemble, RunPlan(Vector) testing and RNG Changes #665

Merged
merged 17 commits into from
Sep 3, 2021

Conversation

ptheywood
Copy link
Member

@ptheywood ptheywood commented Aug 26, 2021

Tests:

  • Add CUDA C++ tests for seed types / values of differeent sizes
  • Add CUDA C++ tests for CUDAEnsemble
  • Add CUDA c++ tests for RunPlan
  • Add CUDA C++ tests for RunPlanVector
  • Add tests looking for exceptions.
  • Add python tests for seed types / values of differeent sizes
  • Add python tests for CUDAEnsemble
  • Add python tests for RunPlan
  • Add python tests for RunPlanVector

Required fixes / changes

  • Change random number seeds to be uint64_t
  • Add uint64_t RunPlanVector::getRandomPropertySeed
    • allows users to output the random initial seeds from std::device_random if required.
  • Disabled the output of FLAMEGPU version when using CUDAEnsembles, it occured too early.
  • CUDAEnsemble::Config suggests @see CUDAEnsemble::applyConfig() Should be called afterwards to apply changes, but applyConfig is not a member of CUDAEnsemble.
  • CUDAEnsemble::getConfig result is mutable in python.

Misc

Additional Changes

Known issues (for the release notes)

  • operator+ for RunPlan and RunPlanVector are not currently working in python
  • CUDAEnsemble::EnsembleConfig::devices is not usable other than the command line in the swig interface

Closes #656

@ptheywood ptheywood force-pushed the ensemble-test-and-rand-64 branch 3 times, most recently from 13bef91 to 2ddb473 Compare August 31, 2021 15:32
@ptheywood ptheywood added the v2.0.0-alpha.1 Issues merged in to the 2.0.0-alpha.1 release label Sep 1, 2021
@ptheywood ptheywood force-pushed the ensemble-test-and-rand-64 branch 4 times, most recently from fdee541 to 4f91030 Compare September 3, 2021 11:40
@ptheywood
Copy link
Member Author

Full test suite is passing under linux, including the ~ 40 new tests.

[==========] 922 tests from 73 test suites ran. (298296 ms total)
[  PASSED  ] 922 tests.

Porting tests to python now

This makes the full range of entropy available for curand, and upgrades host rng engines to the 64 bit version of mt19937
Provides access to the (initally) randomly generated seed used to generate new properties on the host.

The returned value was  only valid for properties generated since the seed was last set, so use is limited
These methods are supposed to return immutable configuraiton structs, but python/swig wrapping results in a mutable object.
This was using the result of unordered_map::find when it did not find the requested name, rather than the other way around.
This matches default uses, and avoids the default value potentially throwing exceptions
This occured before it could be disabled programatically
@ptheywood ptheywood force-pushed the ensemble-test-and-rand-64 branch from 4f91030 to 6ed9fa7 Compare September 3, 2021 16:05
…UDAEnsemble

Some python tests are skipped due to current implementation not allowing them
@ptheywood ptheywood force-pushed the ensemble-test-and-rand-64 branch from 6ed9fa7 to aae80bd Compare September 3, 2021 16:24
@ptheywood ptheywood marked this pull request as ready for review September 3, 2021 16:25
@ptheywood ptheywood mentioned this pull request Sep 3, 2021
@ptheywood
Copy link
Member Author

ptheywood commented Sep 3, 2021

Windows Tests:

922 tests from 73 test suites ran. (380817 ms total)
509 passed, 4 skipped in 732.36s (0:12:12)

@ptheywood ptheywood merged commit e1cb714 into master Sep 3, 2021
@ptheywood ptheywood deleted the ensemble-test-and-rand-64 branch September 3, 2021 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v2.0.0-alpha.1 Issues merged in to the 2.0.0-alpha.1 release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CI: Add workflow_dispatch windows test suite CI CUDAEnsemble / RunPlan / RunPlanVector tests
1 participant