haji-ali / oxford-mlmc-c Goto Github PK
View Code? Open in Web Editor NEWMLMC Code in C from Oxford
MLMC Code in C from Oxford
I have had a look at the interface header, Its about what I would expect.
Do you think that the user functions, instead of being a typedef could be an element of the mlmc_options structure? This could simplify the MLMC driver interface.
E.g.,
typedef struct s_mlmc_options{
unsigned int Lmin; // Minimum number of levels
unsigned int Lmax; // Maximum number of levels
unsigned long long N0; // Initial number of samples to compute variance estimates
double alpha; // Weak convergence rate. Must be positive
double beta; // Variance convergence rate. Must be positive
double gamma; // Work rate. Must be positive
// It will be difficult to support variable length vectors efficiently.
// I think we should focus on fixed length vectors for now.
unsigned int per_sample; // Vector length for vector quantities
void *user_data;
void (*fn_mlmc_sample_levels)(unsigned int L,
const unsigned long long* M,
double *sums,
unsigned int sums_size,
void *user_data);
void (*fn_mlmc_sample_level)(unsigned int ell,
unsigned long long M,
double *sums,
unsigned int sums_size,
void *user_data);
} mlmc_options;
Also do you think we should have a flag in the options to make the driver ignore alpha, beta and gamma and perform trial simulations to approximate the compute time and variance of each level?
Just thoughts...
This allows for better parallelization.
I created a new branch, 'dev', where active development should happen, leaving the master branch to contain valid user code (especially in the future). Every once in a while we will merge the dev branch to master as a way of "releasing" the code.
We can also use this thread to discuss and plan development. I will check boxes as tasks get completed.
Things to do:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.