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

[INFRA] libc++ CI #236

Merged
merged 8 commits into from
Dec 5, 2023
Merged

[INFRA] libc++ CI #236

merged 8 commits into from
Dec 5, 2023

Conversation

eseiler
Copy link
Member

@eseiler eseiler commented Nov 29, 2023

No description provided.

@seqan-actions seqan-actions added lint and removed lint labels Nov 29, 2023
Copy link

codecov bot commented Nov 29, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (34b8c4f) 95.82% compared to head (485576e) 95.82%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #236   +/-   ##
=======================================
  Coverage   95.82%   95.82%           
=======================================
  Files          19       19           
  Lines         719      719           
=======================================
  Hits          689      689           
  Misses         30       30           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Bins have same cardinality, but sort_by_cardinalities is not stable, hence order is implementation-defined
@@ -66,8 +74,7 @@ jobs:
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DCMAKE_CXX_FLAGS="-Werror -Wno-interference-size" \
-DCHOPPER_NATIVE_BUILD=OFF
Copy link
Member

Choose a reason for hiding this comment

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

why is -DCHOPPER_NATIVE_BUILD=OFF removed completely?

Copy link
Member Author

@eseiler eseiler Dec 5, 2023

Choose a reason for hiding this comment

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

It is there because the ci sometimes crashed because of illegal instruction.
But this doesn't seem to happen anymore :)

@@ -321,6 +321,104 @@ TEST(execute_test, many_ubs)
"#LOWER_LEVEL_IBF_26 fullest_technical_bin_idx:0\n"
"#LOWER_LEVEL_IBF_27 fullest_technical_bin_idx:0\n"
"#USER_BIN_IDX\tTECHNICAL_BIN_INDICES\tNUMBER_OF_TECHNICAL_BINS\n"
#ifdef _LIBCPP_VERSION // seqan::hibf::sketch::toolbox::sort_by_cardinalities is not stable
Copy link
Member

Choose a reason for hiding this comment

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

but it is deterministic within the same compiler?

what a code bloat 😓

Copy link
Member Author

Choose a reason for hiding this comment

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

It's deterministic/constitent within each stl (libc++/libstdc++).

The alternative would be to use:

  • std::ranges::stable_sort in the HIBF method, but this has a potentially higher complexity, and also needs additional memory
  • make each size distinct. E. G. 200,201,202,..

Copy link
Member

Choose a reason for hiding this comment

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

nah. it's fine.

@eseiler eseiler merged commit 17d067b into seqan:main Dec 5, 2023
23 checks passed
@eseiler eseiler deleted the infra/libc++ branch December 5, 2023 12:07
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