SDDFA
#1:
// "description" "Loop Entry Trace Record"
"Loop Entry Trace" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Loop" "Loop Index"
	int	"Loop Index";
	// "Byte" "Source Byte Offset"
	int	"Source Byte";
	// "Line" "Source Line Number"
	int	"Source Line";
};;

#2:
// "description" "Loop Exit Trace Record"
"Loop Exit Trace" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Loop" "Loop Index"
	int	"Loop Index";
	// "Byte" "Source Byte Offset"
	int	"Source Byte";
	// "Line" "Source Line Number"
	int	"Source Line";
	// "Duration" "Loop Duration"
	int	"Loop Duration"[];
	// "Loop Seconds" "Floating Point Loop Duration"
	double	"Loop Seconds";
};;

#3:
// "description" "Loop Entry Count Record"
"Loop Entry Count" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Loop" "Loop Index"
	int	"Loop Index";
	// "Byte" "Source Byte Offset"
	int	"Source Byte";
	// "Line" "Source Line Number"
	int	"Source Line";
	// "Count" "Event Count"
	int	"Event Count";
};;

#4:
// "description" "Loop Exit Count Record"
"Loop Exit Count" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Loop" "Loop Index"
	int	"Loop Index";
	// "Byte" "Source Byte Offset"
	int	"Source Byte";
	// "Line" "Source Line Number"
	int	"Source Line";
	// "Duration" "Loop Duration"
	int	"Loop Duration"[];
	// "Loop Seconds" "Floating Point Loop Duration"
	double	"Loop Seconds";
	// "Count" "Event Count"
	int	"Event Count";
};;

#5:
// "description" "Procedure Entry Trace Record"
"Procedure Entry Trace" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Procedure" "Procedure Index"
	int	"Procedure Index";
	// "Byte" "Source Byte Offset"
	int	"Source Byte";
	// "Line" "Source Line Number"
	int	"Source Line";
};;

#6:
// "description" "Procedure Exit Trace Record"
"Procedure Exit Trace" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Procedure" "Procedure Index"
	int	"Procedure Index";
	// "Byte" "Source Byte Offset"
	int	"Source Byte";
	// "Line" "Source Line Number"
	int	"Source Line";
	// "Inclusive Duration" "Inclusive Procedure Duration"
	int	"Inclusive Duration"[];
	// "Inclusive Seconds" "Floating Point Inclusive Duration"
	double	"Inclusive Seconds";
	// "Exclusive Seconds" "Floating Point Exclusive Duration"
	double	"Exclusive Seconds";
	// "Exclusive Duration" "Exclusive Procedure Duration"
	int	"Exclusive Duration"[];
};;

#7:
// "description" "Procedure Entry Count Record"
"Procedure Entry Count" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Procedure" "Procedure Index"
	int	"Procedure Index";
	// "Byte" "Source Byte Offset"
	int	"Source Byte";
	// "Line" "Source Line Number"
	int	"Source Line";
	// "Count" "Event Count"
	int	"Event Count";
};;

#8:
// "description" "Procedure Exit Count Record"
"Procedure Exit Count" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Procedure" "Procedure Index"
	int	"Procedure Index";
	// "Byte" "Source Byte Offset"
	int	"Source Byte";
	// "Line" "Source Line Number"
	int	"Source Line";
	// "Inclusive Duration" "Inclusive Procedure Duration"
	int	"Inclusive Duration"[];
	// "Inclusive Seconds" "Floating Point Inclusive Duration"
	double	"Inclusive Seconds";
	// "Exclusive Seconds" "Floating Point Exclusive Duration"
	double	"Exclusive Seconds";
	// "Exclusive Duration" "Exclusive Procedure Duration"
	int	"Exclusive Duration"[];
	// "Count" "Event Count"
	int	"Event Count";
};;

#9:
// "description" "Dump cost event"
"Dump Cost" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Interval Seconds" "Floating point interval duration"
	double	"Interval Seconds";
	// "Interval" "Time interval"
	int	"Time Interval"[];
};;

#10:
// "description" "Clock exception event"
"Clock Exception" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Count" "Event count"
	int	"Event Count";
};;

#11:
// "description" "Generic trace event"
"Generic Trace" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Data" "User data"
	char	"User Defined Data"[];
};;

#12:
// "description" "Generic count event"
"Generic Count" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Count" "Event count"
	int	"Event Count";
};;

#13:
// "description" "Generic interval event"
"Generic Interval" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Interval Seconds" "Floating point interval duration"
	double	"Interval Seconds";
	// "Interval" "Time interval"
	int	"Time Interval"[];
};;

#14:
// "description" "Blocking Message Send Begin"
"Blocking Send Begin" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Type" "Message Type"
	int	"Message Type";
	// "Length" "Message Length"
	int	"Message Length";
	// "DestNode" "Destination Node"
	int	"Destination Node";
	// "PID" "Destination PID"
	int	"Destination PID";
};;

#15:
// "description" "Blocking Message Receive Begin"
"Blocking Receive Begin" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Type" "Message Type"
	int	"Message Type";
	// "Length" "Message Length"
	int	"Message Length";
};;

#16:
// "description" "Nonblocking Message Send Begin"
"Nonblocking Send Begin" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Type" "Message Type"
	int	"Message Type";
	// "Length" "Message Length"
	int	"Message Length";
	// "DestNode" "Destination Node"
	int	"Destination Node";
	// "PID" "Destination PID"
	int	"Destination PID";
};;

#17:
// "description" "Nonblocking Message Receive Begin"
"Nonblocking Receive Begin" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Type" "Message Type"
	int	"Message Type";
	// "Length" "Message Length"
	int	"Message Length";
};;

#18:
// "description" "Miscellaneous Message Operation Begin"
"Message Operation Begin" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Operation" "Operation Type"
	int	"Operation Type";
};;

#19:
// "description" "Blocking Message Send End"
"Blocking Send End" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Message Seconds" "Floating Point Message Duration"
	double	"Message Seconds";
	// "Duration" "Message Duration"
	int	"Message Duration"[];
};;

#20:
// "description" "Blocking Message Receive End"
"Blocking Receive End" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Message Seconds" "Floating Point Message Duration"
	double	"Message Seconds";
	// "Duration" "Message Duration"
	int	"Message Duration"[];
	// "Source node" "Sending processor number"
	int	"Sending processor number";
};;

#21:
// "description" "Nonblocking Message Send End"
"Nonblocking Send End" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Message Seconds" "Floating Point Message Duration"
	double	"Message Seconds";
	// "Duration" "Message Duration"
	int	"Message Duration"[];
};;

#22:
// "description" "Nonblocking Message Receive End"
"Nonblocking Receive End" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Message Seconds" "Floating Point Message Duration"
	double	"Message Seconds";
	// "Duration" "Message Duration"
	int	"Message Duration"[];
};;

#23:
// "description" "Miscellaneous Message Operation End"
"Message Operation End" {
	// "Time" "Timestamp"
	int	"Timestamp"[];
	// "Seconds" "Floating Point Timestamp"
	double	"Seconds";
	// "ID" "Event ID"
	int	"Event Identifier";
	// "Node" "Processor number"
	int	"Processor Number";
	// "Message Seconds" "Floating Point Message Duration"
	double	"Message Seconds";
	// "Duration" "Message Duration"
	int	"Message Duration"[];
	// "Operation" "Operation Type"
	int	"Operation Type";
};;

#24:
// "created by" "SynthesizeArray-1:Count"
"Procedure Count by PE, Proc" {
	double	"Array"[][];
};;

#25:
// "created by" "SynthesizeVector-1:Sum"
"Cumulative Procedure Time" {
	double	"Vector"[];
};;

#26:
// "created by" "Scale-1"
"<<Scale-1>>" {
	double	"Result";
};;

#27:
// "created by" "Scale-1:toNanoSecs"
"Procedure Duration (ns)" {
	double	"Result";
};;

