Skip to content
Snippets Groups Projects
Commit 31e649ce authored by Russel Arbore's avatar Russel Arbore
Browse files

Beginnings of schedules

parent 29b8ad42
No related branches found
No related tags found
1 merge request!13Basic IR schedules framework
......@@ -1078,6 +1078,7 @@ impl TernaryOperator {
* Rust things to make newtyped IDs usable.
*/
#[macro_export]
macro_rules! define_id_type {
($x: ident) => {
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
......
......@@ -7,6 +7,7 @@ pub mod dom;
pub mod ir;
pub mod loops;
pub mod parse;
pub mod schedule;
pub mod subgraph;
pub mod typecheck;
pub mod verify;
......@@ -18,6 +19,7 @@ pub use crate::dom::*;
pub use crate::ir::*;
pub use crate::loops::*;
pub use crate::parse::*;
pub use crate::schedule::*;
pub use crate::subgraph::*;
pub use crate::typecheck::*;
pub use crate::verify::*;
use crate::*;
/*
* An individual schedule is a single "directive" for the compiler to take into
* consideration at some point during the compilation pipeline. Each schedule is
* associated with a single node.
*/
#[derive(Debug, Clone)]
pub enum Schedule {}
/*
* A plan is a set of schedules associated with each node, plus partitioning
* information. Partitioning information is a mapping from node ID to partition
* ID.
*/
#[derive(Debug, Clone)]
pub struct Plan {
schedules: Vec<Vec<Schedule>>,
partitions: Vec<PartitionID>,
num_partitions: usize,
}
define_id_type!(PartitionID);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment