2019-01-15 OMPi小组会议

"工作安排、工作动员"

Posted by Kingtous on January 15, 2019

项目目标截止日期:3月中旬.

任务很赶,但是也相对比较简单,大家加把劲!

项目总流程图

processgraph

工作安排

  • 论文
    • 4.4 Parallel Control Flow Graph Integration 算法实现.
      • Algorithm 1.
        • A1
      • Algorithm 2.
        • A2
    • CASE STUDY.
      • bots.
    • task之间的拓扑关系【1】.
  • 生成task的拓扑图

    • 方法:修改WCET_Generator,调用SWEET得出每一个Task的拓扑图.

    • 需要考虑的因素:

      • If-else.

      • Loop 循环.

      • 函数调用以及递归问题.

  • 得出task之间的拓扑关系【1】

    • 方法:分析 taskFunc 内部的函数调用,即可得出task之间的父子关系.
      • 返回 task1 bb0 task2 bb4
      • 如果递归,返回 task2 bb4 R R
  • 添加信息(Flow Fact , WCET)入图
    • 方法:修改dot code.
      • 先进行WCET信息的添加.
  • Flow Fact信息生成

    • 方法:在task前加入一个函数(比如value),将要分析的值传进来,再指定value函数为入口点,即可分析出值的取值

      • 1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        
        void value(int a,int b)
        {
            int tmpa=a;
            int tmpb=b;
        }
              
        int main
        {
        	value(a,b);
            #task firstprivate(int a,int b)
            {
        		...
            }   
        }
        
    • 目前遇到的问题

      • 得出的部分 Flow Fact 值不是精确的. 比如测试中,while循环9次不是准确的,但是循环10次却又是精确的. (Warning)
        • 继续进行测试

命令参考

  • C 转 _ompi.c

    • 1
      
      ompicc -k file.c #不用管报错问题
      
  • _ompi.c 转 ALF,MAP文件

    • c_to_alf_map xxx (没有.c后缀)
  • 生成.dot文件

    • sweet -i=xxx.alf,std_hll.alf -c extref=off --dot-print file=xxx(生成的文件名) g=xxx(生成图的类型)

      • g=xxx中,xxx可以为

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        
        cfg            - (默认为CFG) Control flow graph
        cfgd           - Control flow graph with debug info
        pa             - Pointer analysis
        cg             - Call graph
        sg             - Scope graph
        sym            - Symbol table
        ast            - Abstract syntax tree of the program
        astl           - Abstract syntax tree of the program after linkage
        expl           - Exported symbols after linkage.
        impl           - Imported symbols after linkage.
        
  • .dot 文件转换为 .pdf 图

    1
    
    dot -Tpdf xxx.dot -o xxx.pdf
    
  • 生成 WCET (使用WCET_Generator)

    • wctpy xxx.alf
      • 会生成 Generate_file 文件夹和 wcet 文件