Skip to content

Conversation

@xjules
Copy link
Contributor

@xjules xjules commented Sep 15, 2025

Update step requires 32bit so there is no need to store 64bit dataframes
Approach

  • 64bit -> 32bit
  • update snapshot
    • For float32 snapshots rounding up to 7 digits is more realistic

(Screenshot of new behavior in GUI if applicable)

  • change the snapshots

  • PR title captures the intent of the changes, and is fitting for release notes.

  • Added appropriate release note label

  • Commit history is consistent and clean, in line with the contribution guidelines.

  • Make sure unit tests pass locally after every commit (git rebase -i main --exec 'just rapid-tests')

When applicable

  • When there are user facing changes: Updated documentation
  • New behavior or changes to existing untested code: Ensured that unit tests are added (See Ground Rules).
  • Large PR: Prepare changes in small commits for more convenient review
  • Bug fix: Add regression test for the bug
  • Bug fix: Add backport label to latest release (format: 'backport release-branch-name')

@xjules xjules self-assigned this Sep 15, 2025
@xjules xjules added the release-notes:skip If there should be no mention of this in release notes label Sep 15, 2025
@xjules xjules added this to SCOUT Sep 15, 2025
@xjules xjules moved this to Ready for Review in SCOUT Sep 15, 2025
@codspeed-hq
Copy link

codspeed-hq bot commented Sep 15, 2025

CodSpeed Performance Report

Merging #11830 will not alter performance

Comparing xjules:data_prec_32bit (91335c1) with main (674b6fa)

Summary

✅ 22 untouched

Copy link
Contributor

@flikka flikka left a comment

Choose a reason for hiding this comment

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

Seem sensible.
But, do we have a general "philosophy" on float precision? For example the parameters stuff here:

def load_parameters(
should that also be 32 bit?

And tests are failing :-/

@github-project-automation github-project-automation bot moved this from Ready for Review to Reviewed in SCOUT Sep 22, 2025
@xjules
Copy link
Contributor Author

xjules commented Sep 24, 2025

Seem sensible. But, do we have a general "philosophy" on float precision? For example the parameters stuff here:

def load_parameters(

should that also be 32 bit?
And tests are failing :-/

When it is stored as 32bit the schema should say 32 bit. The tests are failing due to the snapshots.
I'll labeled this as blocked due to merging the genkw PR first.

@xjules xjules added the blocked label Sep 24, 2025
@xjules xjules moved this from Reviewed to Todo in SCOUT Sep 24, 2025
@xjules xjules removed the blocked label Sep 26, 2025
@xjules xjules moved this from Todo to In Progress in SCOUT Oct 7, 2025
@xjules xjules changed the title Change storage precision and data size for genkw / design matrix to 32bit Change storage precision and data size for parameters to 32bit Oct 10, 2025
@codecov-commenter
Copy link

codecov-commenter commented Oct 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.61%. Comparing base (674b6fa) to head (91335c1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #11830      +/-   ##
==========================================
- Coverage   90.74%   90.61%   -0.13%     
==========================================
  Files         432      432              
  Lines       28985    28985              
==========================================
- Hits        26302    26265      -37     
- Misses       2683     2720      +37     
Flag Coverage Δ
cli-tests ?
gui-tests 69.03% <66.66%> (ø)
performance-and-unit-tests 74.06% <83.33%> (ø)
test 39.91% <16.66%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@xjules xjules moved this from In Progress to Ready for Review in SCOUT Oct 13, 2025

def cluster_responses(
responses: npt.NDArray[np.float64],
responses: npt.NDArray[np.float32],
Copy link
Contributor

Choose a reason for hiding this comment

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

should this be np.floating instead? it seems responses can be np.float64 coming from main?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes, probably it should be np.floating I have changed it in some places 😄

@xjules xjules moved this from Ready for Review to Todo in SCOUT Oct 20, 2025

snapshot.assert_match(
result.to_csv(float_format="%.12g"),
result.to_csv(float_format="%.7g"),
Copy link
Contributor

Choose a reason for hiding this comment

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

Why 7?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I need to revisit the precision.

@xjules xjules moved this from Todo to In Progress in SCOUT Oct 27, 2025
@xjules xjules moved this from In Progress to Todo in SCOUT Oct 28, 2025
@xjules xjules removed their assignment Oct 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-notes:skip If there should be no mention of this in release notes

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

4 participants