Skip to content

[DESIGN] "cross-feeding" vs "performance" -- ie dispatch vs specialized #264

Open
@dehann

Description

@dehann

DFG is about having access to various graphing technologies in a way that allows info/data/etc to be easily transferred between technologies in a standard way. For example:

# copy from one dfg to another, regardless of different SolverParams types
copyGraph!(localdfg, cgdfg, args...)

merge!(CloudDFG, FileDFG)
merge!(FileDFG, CloudDFG)
merge!(CloudDFG, LightDFG)
merge!(GraphsDFG, LightDFG)
merge!(GraffDFG, CloudDFG) # seems excessive, but its about the philosophy 
# ...

updateVariables!(LigthDFG, CloudDFG)
updateVariables!(FileDFG, GraphDFG) # to illustrate point
updateVariables!(FuseDFG, LightDFG) # to illustrate point
# ...

buildSubgraph(::LightDFG, GraphDFG, ...)
buildSubgraph(::CloudDFG, LightDFG, ...)
buildSubgraph(::FileDFG, CloudDFG, ...)
# ...

Originates from hard discussions on:

cc @GearsAD , @Affie

EDIT: GraphsDFG has since been archived in favor of LightDFG.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions