Radmeth performance and threads#279
Merged
andrewdavidsmith merged 24 commits intomasterfrom Jul 22, 2025
Merged
Conversation
…existing approach via general optmizers
…elp with organization and efficiency
…hunks of data for each thread and avoid too much thread creation. Currently performance has problems.
… because it's really just binary. Moving the functions that do IO on design matrices here also because this is where they belong
…o have uint8_t for its binary values rather than the full double
…odel sources and setting the number of lines to read/write at once to 4096
…allocating the chunks vector, and changing the default number of lines to read at once to 16k
…erance from 1e-4 to 1e-4 and max_iter from 700 to 250
…n the GSL iterative estimation of model parameters
…ance and max-iter in the GSL iterative estimation of model parameters
…ied by the sqrt of the number of params and by the number of obs/samples
…ctor to avoid reallocation in the gradient
…lculations and modifying the p_v in neg_gradient to be held in Regression to avoid reallocating
…onal fields -- noticed when analysing output from radmeth
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added multithreaded mode to radmeth and tightened up the code in the negtive log likelihood function and its gradient which are used in a general minimizer for the parameter estimation. Also added parameters for the user to control numerical tolerance and max iterations. Numerical results have changed, but seem to be similarly accurate and tolerance / max-iter params allow more accuracy with more computation