#include <algorithm>#include "util/compact.hpp"#include "util/rect_list.hpp"#include <iostream>#include <sstream>#include <fstream>#include <cstring>#include <assert.h>#include <iomanip>#include "util/prefix_sum_tools.hpp"Typedefs | |
| typedef double | T |
| typedef util::Prefix2D< double > | Pr |
Functions | |
| std::string | getColor (T max, T min, T val, double perfect) |
| Returns string in format "R,G,B" where R:Red, G:Green, B:Blue is the color code. | |
| void | draw_rectangle (double x, double y, double w, double h, std::string color_in, double stroke_width=0.1, std::string color_out="0,0,0") |
| Draws a single rectangle at a specified location, dimensions and color. | |
| void | draw_text (double x, double y, std::string text, double font_size, std::string anchor="bottom", double angle=0) |
| Prints text on SVG. | |
| void | draw_bar (double x, double y, T max_load, T min_load, double avg) |
| Draws color legend to figure out load imbalance. | |
| void | draw_footer (double x, double y, char *instName, char *cutName, int proc) |
| Prints instance and cut filename, and processor count as text. | |
| void | draw_rectangles (RectList< T, Pr > &rl, const Pr &pr, int numProc, char *inst, char *cuts, T min_load, T max_load, bool legend) |
| Draws a complete SVG image of Load imbalance chart with legends and other information. | |
| std::string | get_svg_header () |
| Prints standard SVG header to the SVG file. | |
| int | main (int argc, char *argv[]) |
Variables | |
| double | largex |
| double | largey |
| typedef util::Prefix2D<double> Pr |
| typedef double T |
Draws color legend to figure out load imbalance.
| x | Coordinate -- distance from top. | |
| y | Coordinate -- distance from left. | |
| max | Maximum value in the input space. Maps to complete red color (255,0,0). | |
| min | Minimum value in the input space. Maps to complete blue color (0,0,255). | |
| avg | Perfect load imbalance value. Maps to complete white color (255,255,255). |
| void draw_footer | ( | double | x, | |
| double | y, | |||
| char * | instName, | |||
| char * | cutName, | |||
| int | proc | |||
| ) |
Prints instance and cut filename, and processor count as text.
| x | Coordinate -- distance from top. | |
| y | Coordinate -- distance from left. | |
| instName | Instance file name. | |
| cutName | Cuts file name. | |
| proc | Processor count. |
| void draw_rectangle | ( | double | x, | |
| double | y, | |||
| double | w, | |||
| double | h, | |||
| std::string | color_in, | |||
| double | stroke_width = 0.1, |
|||
| std::string | color_out = "0,0,0" | |||
| ) |
Draws a single rectangle at a specified location, dimensions and color.
| x | Coordinate -- distance from top. | |
| y | Coordinate -- distance from left. | |
| w | Rectangle width. | |
| h | Rectangle height. | |
| color_in | Input color string in format "R,G,B" (This is the output of getColor() function) | |
| stroke_width | Stroke width in SVG. This looks like a frame around the rectangle. (0.1 by default) | |
| color_out | Stroke color. |
| void draw_rectangles | ( | RectList< T, Pr > & | rl, | |
| const Pr & | pr, | |||
| int | numProc, | |||
| char * | inst, | |||
| char * | cuts, | |||
| T | min_load, | |||
| T | max_load, | |||
| bool | legend | |||
| ) |
Draws a complete SVG image of Load imbalance chart with legends and other information.
| rl | Input rectangle list. | |
| pr | Input prefix sum array. | |
| numProc | Number of processors. | |
| inst | Instance file name. | |
| cuts | Cut file name. | |
| min_load | Minimum value in the input space. Maps to complete blue color (0,0,255). | |
| max_load | Maximum value in the input space. Maps to complete red color (255,0,0). | |
| legend | Set to true to draw a color legend. |
| void draw_text | ( | double | x, | |
| double | y, | |||
| std::string | text, | |||
| double | font_size, | |||
| std::string | anchor = "bottom", |
|||
| double | angle = 0 | |||
| ) |
Prints text on SVG.
| x | Coordinate -- distance from top. | |
| y | Coordinate -- distance from left. | |
| text | Text to print. | |
| font_size | Font size in SVG. | |
| anchor | Anchor in SVG. (bottom by default) | |
| angle | To rotate text in SVG. (0 by default) |
| std::string get_svg_header | ( | ) |
Prints standard SVG header to the SVG file.
Returns string in format "R,G,B" where R:Red, G:Green, B:Blue is the color code.
Returns string in format "R,G,B" where R:Red, G:Green, B:Blue is the color code. This is used to draw rectangles in SVG.
| max | maximum value in the input space. Maps to complete red color (255,0,0). | |
| min | minimum value in the input space. Maps to complete blue color (0,0,255). | |
| val | input value to be converted to color. | |
| perfect | perdect load inbalance value (that will map to white color). |
| int main | ( | int | argc, | |
| char * | argv[] | |||
| ) |
Synopsis: spart_2d_visual <instance> <nbproc> <cut_file> instance: Begins with a line with number of tasks in X and Y dimension. The rest of the lines contain 1 task load per line. nbproc: number of processors cutfile: List of rectangle cuts
| argc | ||
| argv |
| double largex |
| double largey |
1.7.1