Coder Social home page Coder Social logo

fluido's People

Contributors

kayagokalp avatar

Watchers

 avatar

fluido's Issues

Fix nix flake

as of #18 nix flake is broken, fails with:

error: builder for '/nix/store/bigjll2fjf9zn29fsrvhv90vqja5wxf4-rust-workspace-unknown.drv' failed with exit code 101;
       last 10 log lines:
       >                 ...
       >           ld: symbol(s) not found for architecture arm64
       >           clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
       >           
       >
       >
       > error: aborting due to previous error
       >
       >
       > [naersk] cargo returned with exit code 101, exiting
       For full logs, run 'nix log /nix/store/bigjll2fjf9zn29fsrvhv90vqja5wxf4-rust-workspace-unknown.drv'.

Consider fluid expansions through iteration not rewrites

Currently we are using rewrite rules to create new fluids out of existing ones. Basically we insert only the initial fluid after doing that we are rewriting it to insert new ones until. Equality saturation is running better once we have rules that are making things simpler, not expanding them as we can do acylic egraphs etc to speed up things. Also it is easier to reason about so it might make sense to initially insert all the possible fluid concentrations (with limited scope)

Document operation flow in the book

I have some number of phases in the code right now which started to make things interesting. So having a some sort of phase graph visualization would be helpful after #22 is implemented.

After evaluating substitute closest num selection with actual numbers and evaluate end result

Sometimes we cannot find exact mixing operations. So a best effort option is provided to the user that gives the exact output concentration. But in reality we would only be able to use what we have in our hand and cannot generate the exact output but something close to it. We should output what we can generate that might not be exactly what we are looking for and report how well we did.

Introduce a driver crate for search and compilation

Currently fluido crate is a binary parsing cli inputs and the driver of the different crates for search and storage allocation. I should introduce a driver/core crate that handles the driving of other crates and leave fludio crate only as an interface. Possibly rename it to fluido-cli.

Limit concentrations between 0.0 and 1.0

Currently concentrations grow and shrink without any limit. We are possibly generating bunch of mixers that are not valid, because they are using concentrations higher than 1.0 or lower than 0.0. This will probably enable us to do much more finer granularity search in the same amount of time as all the time spent generating invalid mixers can be allocated to finer granularity search

Mixer graph de-duplication or store op coalescing for flat-ir

Currently dependency graphs are not de-duplicated meaning that for each concentration that we use there is a separate node in the graph. This leads to duplicated store operations for the flat-ir. For example if 0 concentration is used, flat-ir crates multiple store ops that stores 0 concentration in separate storage units.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.