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

Ci/sanitize #1521

Merged
merged 56 commits into from
Jul 23, 2021
Merged

Ci/sanitize #1521

merged 56 commits into from
Jul 23, 2021

Conversation

thorstenhater
Copy link
Contributor

Fix a typo.

@bcumming
Copy link
Member

This expands the number of CI jobs significantly by using the sanitizer on configurations, increasing the amount of computational resources on every commit to a PR, and increasing time taken to run tests. It will also add maintenance overheads for the CI tests, which we have to balance against the modest benefits of running the sanitizer.

Instead, can we run it on one configuration automatically by default? We could trigger the other configurations manually.

@thorstenhater
Copy link
Contributor Author

Hi,

this is a fix to the original PR which was merged already, but has the same name.

The reason for using both SIMD and Scalar is that changes to modcc can break
the generated mechanisms and introduce issues in modcc itself. The rest of the
configuration does not change. We can also not run multiple sanitizers on the same
target, as they exclude each other.

While I agree on the amount of resources increasing, I am less sure about the other
arguments. The time will likely not increase, as all tests can run in parallel. The maintenance
requirements are minimal and will have to be done to all of our CI jobs.

Originally we opted for running this nightly, but changed that sentiment in a discussion.
Likely that was because it's easier to fix these issues while introducing them.

@halfflat halfflat self-assigned this May 11, 2021
@thorstenhater thorstenhater requested a review from halfflat May 18, 2021 12:59
Copy link
Contributor

@halfflat halfflat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looks good save for that preload bit, which we discussed in chat.

@halfflat halfflat merged commit 7ddefe6 into arbor-sim:master Jul 23, 2021
@thorstenhater thorstenhater deleted the ci/sanitize branch July 26, 2021 06:06
max9901 added a commit to max9901/arbor that referenced this pull request Aug 5, 2021
* Ci/sanitize (arbor-sim#1521)

Add clang sanitizer passes to GH CI.

* Tutorial structure: remove deduplication, includify (arbor-sim#1575)

* added notes re literal_include to python examples
* merged changes in arbor-sim#1504 
* deduped and includified (arbor-sim#1558) tutorials.
* First divergence of tutorial and code spotted!
* Added some contrib documentation for examples and docs.

* Implement mechanism ABI

Implements arbor-sim#1376.

* Provide a common C linkage ABI for externally compiled mechanisms, for both CPU and GPU.
* Remove mechanism type hierarchy (`concrete_mechanism` etc.), and move corresponding functionality to the back-end shared state objects. Mechanism catalogue is no longer indexed by type id.
* Distinguish between SIMD optimal alignment and SIMD width with new `min_align` attribute. Mechanisms provide both pieces of information via ABI.

* update spack package to include fmt for arbor@0.5.3: (arbor-sim#1609)

* alles werkt weer allen smol_dend niet;'

* nu werkt het

* Docs mechabi (arbor-sim#1610)

* Bit of review on the copy of the mech abi docs.
* Convert api/abi docs to C Domain directives.

* Bug/assorted static analysis (arbor-sim#1615)

* Fix failure to return value in `py_mech_cat_value_iterator `.
* String butchered by formatting.
* Join unnecessary separation of string literals in `arborio/cabelio.cpp`
* Add missing throw in s_expr code.
* Return value, not reference, in `merge_iterator::operator++(int)`.
* Check for self-assignment in `mechanism_catalogue`.
* Initialize all members of `mechanism`.
* Fix index check order in `multi_event_stream` debug output.
* Use coordinator_ from base class in `memory::array`.

Co-authored-by: thorstenhater <24411438+thorstenhater@users.noreply.github.com>
Co-authored-by: Brent Huisman <brenthuisman@users.noreply.github.com>
Co-authored-by: Ben Cumming <bcumming@cscs.ch>
max9901 added a commit to max9901/arbor that referenced this pull request Aug 9, 2021
* Ci/sanitize (arbor-sim#1521)

Add clang sanitizer passes to GH CI.

* Tutorial structure: remove deduplication, includify (arbor-sim#1575)

* added notes re literal_include to python examples
* merged changes in arbor-sim#1504 
* deduped and includified (arbor-sim#1558) tutorials.
* First divergence of tutorial and code spotted!
* Added some contrib documentation for examples and docs.

* Implement mechanism ABI

Implements arbor-sim#1376.

* Provide a common C linkage ABI for externally compiled mechanisms, for both CPU and GPU.
* Remove mechanism type hierarchy (`concrete_mechanism` etc.), and move corresponding functionality to the back-end shared state objects. Mechanism catalogue is no longer indexed by type id.
* Distinguish between SIMD optimal alignment and SIMD width with new `min_align` attribute. Mechanisms provide both pieces of information via ABI.

* update spack package to include fmt for arbor@0.5.3: (arbor-sim#1609)

* Docs mechabi (arbor-sim#1610)

* Bit of review on the copy of the mech abi docs.
* Convert api/abi docs to C Domain directives.

* Bug/assorted static analysis (arbor-sim#1615)

* Fix failure to return value in `py_mech_cat_value_iterator `.
* String butchered by formatting.
* Join unnecessary separation of string literals in `arborio/cabelio.cpp`
* Add missing throw in s_expr code.
* Return value, not reference, in `merge_iterator::operator++(int)`.
* Check for self-assignment in `mechanism_catalogue`.
* Initialize all members of `mechanism`.
* Fix index check order in `multi_event_stream` debug output.
* Use coordinator_ from base class in `memory::array`.

Co-authored-by: thorstenhater <24411438+thorstenhater@users.noreply.github.com>
Co-authored-by: Brent Huisman <brenthuisman@users.noreply.github.com>
Co-authored-by: Ben Cumming <bcumming@cscs.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants