Files
metagraphoptimization.jl/src/MetagraphOptimization.jl

152 lines
3.1 KiB
Julia
Raw Normal View History

"""
MetagraphOptimization
A module containing tools to work on DAGs.
"""
2023-06-22 17:24:35 +02:00
module MetagraphOptimization
2023-06-29 16:22:58 +02:00
export DAG
export Node
export Edge
export ComputeTaskNode
export DataTaskNode
export AbstractTask
export AbstractComputeTask
export AbstractDataTask
export DataTask
export FusedComputeTask
2023-08-28 13:52:54 +02:00
export PossibleOperations
export GraphProperties
export make_node
export make_edge
export insert_node
export insert_edge
export is_entry_node
export is_exit_node
export parents
export children
export compute
export get_properties
export get_exit_node
export is_valid, is_scheduled
export Operation
export AppliedOperation
export NodeFusion
export NodeReduction
export NodeSplit
export push_operation!
export pop_operation!
export can_pop
export reset_graph!
export get_operations
export ComputeTaskP
export ComputeTaskS1
export ComputeTaskS2
export ComputeTaskV
export ComputeTaskU
export ComputeTaskSum
2023-06-29 16:22:58 +02:00
2023-08-31 18:47:05 +02:00
export execute
export parse_dag, parse_process
export gen_process_input
export get_compute_function
2023-08-31 18:24:48 +02:00
export ParticleValue
export ParticleA, ParticleB, ParticleC
export ABCProcessDescription, ABCProcessInput, ABCModel
export Machine
export get_machine_info
2023-08-31 18:24:48 +02:00
export ==, in, show, isempty, delete!, length
2023-06-29 16:22:58 +02:00
export bytes_to_human_readable
import Base.length
import Base.show
import Base.==
import Base.+
import Base.-
import Base.in
2023-06-27 20:05:27 +02:00
import Base.copy
2023-08-17 14:15:02 +02:00
import Base.isempty
import Base.delete!
2023-08-21 13:29:55 +02:00
import Base.insert!
import Base.collect
2023-05-25 17:20:16 +02:00
2023-06-29 16:22:58 +02:00
include("devices/interface.jl")
include("task/type.jl")
include("node/type.jl")
include("diff/type.jl")
include("properties/type.jl")
include("operation/type.jl")
include("graph/type.jl")
2023-06-29 16:22:58 +02:00
include("trie.jl")
include("utility.jl")
include("diff/print.jl")
include("diff/properties.jl")
include("graph/compare.jl")
include("graph/interface.jl")
include("graph/mute.jl")
include("graph/print.jl")
include("graph/properties.jl")
include("graph/validate.jl")
include("node/compare.jl")
include("node/create.jl")
include("node/print.jl")
include("node/properties.jl")
include("node/validate.jl")
include("operation/utility.jl")
include("operation/apply.jl")
include("operation/clean.jl")
include("operation/find.jl")
include("operation/get.jl")
include("operation/print.jl")
include("operation/validate.jl")
include("properties/create.jl")
include("properties/utility.jl")
include("task/create.jl")
include("task/compare.jl")
include("task/compute.jl")
include("task/print.jl")
include("task/properties.jl")
include("models/interface.jl")
include("models/print.jl")
include("models/abc/types.jl")
2023-08-31 18:24:48 +02:00
include("models/abc/particle.jl")
include("models/abc/compute.jl")
2023-09-05 12:14:41 +02:00
include("models/abc/create.jl")
include("models/abc/properties.jl")
include("models/abc/parse.jl")
include("models/abc/print.jl")
include("devices/measure.jl")
include("devices/detect.jl")
include("devices/impl.jl")
include("devices/numa/impl.jl")
include("devices/cuda/impl.jl")
# can currently not use AMDGPU because of incompatability with the newest rocm drivers
# include("devices/rocm/impl.jl")
# oneapi seems also broken for now
# include("devices/oneapi/impl.jl")
include("scheduler/interface.jl")
include("scheduler/greedy.jl")
2023-06-29 13:57:45 +02:00
2023-08-31 18:47:05 +02:00
include("code_gen/main.jl")
2023-06-22 17:24:35 +02:00
end # module MetagraphOptimization