NCSI

   

Performance Assertions for High Performance Applications


Shodor > NCSI > XSEDE EMPOWER > XSEDE EMPOWER Positions > Performance Assertions for High Performance Applications

Status
Completed
Mentor NameMichael Shah
Mentor's XSEDE AffiliationPrevious Mentor, member of community
Mentor Has Been in XSEDE Community4-5 years
Project TitlePerformance Assertions for High Performance Applications
SummaryStudent(s) will be working on building tools to monitor performance sensitive applications. We will be building infrastructure to support writing 'performance assertions' that monitor the performance of high performance applications (games, graphics, volume visualizations, etc.) running with C/C++ code. Typically these applications are also highly parallelized (using frameworks like OpenMP or CILK), and can be difficult to track using regular profiling tools. Thus, we will be implementing a tool framework for monitoring the performance of these applications using the LLVM compiler framework.
Job DescriptionStudent Duties: Students will be responsible for working a minimum of 12 weeks (a full semester) for 8-10 hours a week. Students will be meeting with me once a week for a weekly check-in for feedback, demonstration of progress, ask questions, and make forward progress on the next guided training tasks.

There are two scientific applications for this proposal:
1. Scientific Application: Students will be working with me to learn the basics of performance engineering.
2. Scientific Application: We will be implementing actual tools and then writing our results and submitting for workshops for publication.
Computational ResourcesStudents will make use of XSEDE trainings available online [1].

[1] https://portal.xsede.org/web/xup/online-training
Contribution to Community
Position TypeApprentice
Training PlanThe student will have to come up to speed on C/C++ tools, including the LLVM Compiler framework.

Training Plan:
Weeks 1-2: Work through LLVM Tutorials (https://llvm.org/docs/tutorial/)
Weeks 3-4: Learn about the basics of Profiling while writing first iterations of LLVM infrastructure (XSEDE Resource: https://cvw.cac.cornell.edu/Profiling/default)
Weeks 5-6: Set up a testing framework for experiments to be run.
Weeks 7-8: Spend time getting benchmarks working (Sample benchmarks include: OpenSubDiv, Blender3D, and Quake)
Final Weeks: Continue implementation of system and write up results in paper draft.

Student will also be working through lectures on Performance Engineering from MIT Opencourseware: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-172-performance-engineering-of-software-systems-fall-2010/video-lectures/
Student Prerequisites/Conditions/QualificationsStudent should be available and on the Boston Campus.
DurationSemester
Start Date09/04/2019
End Date12/03/2019

Not Logged In. Login