Introduction to Supercomputer Applications
Spring 2004
4th Quarter

Final Project options

MPI Routines

  • Student Portfolios Spring 2004

  • Interims, 6th period

    Summary of assignments:

    1. Reading: MPI Worksheet 4 (Chap 4), MPI Worksheet 5 (Chap 6) from WebCT-HPC

    2. MPI Lab04 - Array Search

    3. MPI Lab05 - Matrix multiplication Part 1, Row major form

    4. MPI Lab05 - Matrix multiplication Part 2, Column major

    5. MPI Lab05 - Matrix multiplication Part 3, Sending groups of consecutive columns

    6. Trajectory Program - Introduction to Computer Graphics Modeling
      - see Computer Simulation and Modeling: "Project 1 - 3 Trajectory"

    7. Help/Example programs (compile with "Lgcc progname" - no ".c")
      - Lgcc script (C) (don't forget to "chmod 755 Lgcc" to make this executable)
      - Lg++ script (C++) (don't forget to "chmod 755 Lg++" to make this executable)
      First: Run hello.c, Example 1-2 in Chapter 1 (see below)
      Also see: double.c, Example 1-3, using double buffering for animation
      and use of glutMouseFunc(mouse) - a callback function
      - GLUT API
      - GL and GLU
      - OpenGL Programming Guide
      - OpenGL Reference Guide
      - OpenGL.org

    8. OpenGL Programming Guide, Version 1.4
      • Chapter 1 (html)
        • Color Plates - from Appendix I, look through all plates, 1-38, read descriptions
        • OpenGL Command Syntax: commands begin with "gl", "glu", or "glut" depending on the library
          Ex. glClearColor(), glColor3f(), glVertex3f() - What does "3f" represent?
        • OpenGL datatypes: GLbyte, GLshort, GLint, GLdouble, etc., see Table 1-1
        • "v" is added for vectors:
          glColor3f(1.0, 0.0, 0.0);
          GLfloat color_array[] = {1.0, 0.0, 0.0};
          glColor3fv(color_array);
        • Libraries and include files:
          #include <GL/gl.h>
          #include <GL/glu.h>
          #include <GL/glut.h>
        • GLUT Window Management
          glutInit(), glutInitDisplayMode()
          glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH)
          glutInitWindowPosition(), glutInitWindowSize(), glutCreateWindow()
        • The Display Callback: glutDisplayFunc(void (*func)(void)),
          glutPostRedisplay(void)
        • Running the Program: glutMainLoop(void)
      • Basic starter programs
      • List of colours and RGB values
      • Handy mathematics Facts for Graphics - includes an approximation of PI to 35 decimal points.
      • Helpful OpenGL Online Resource Links
      • Programs from the OpenGL text