Informal Parallel Programming Course for High School Students
This page will be updated frequently during the progress of the course. The updates will include links to corrections and some announcements.
If you have any questions, please send an e-mail to Scott Watson at firstname.lastname@example.org
- Monday, 13 November: HW6:BFS and HW7:connectivity(challenge assignment) are now available from Scott's home directory as usual and from this website below. The official due dates are also posted below. If you saw the BFS assignment available yesterday and downloaded it you should delete the pdf and old code starter files and replace them with the currently available files as both have been updated.
- Monday, 29 October: Sample sort assignment (HW5) is now posted. See you in class tomorrow. Enjoy!
- Monday, 15 October: HW3 is now in the assignments section of the website. You'll have two weeks to complete this assignment
- Sunday, 7 October: Starting this Tuesday, October 9th, we will be introducing regular HW3:compaction as well as a special assignment on graph connectivity for those students who wish to do more challenging assignments. I will give about a 20 minute discussion on the graph connectivity algorithm at the beginning of the coaching session. Students who cannot make it to the coaching session can email me for additional information if they still wish to do the assignment.
- Sunday, 7 October: Please submit your projects (especially HW0) even if they do not run so that I can supply feedback for future assignments. Change the current directory to the src directory of the exchange project, or any other project you wish to submit and type 'make submit' The files will automatically be zipped and sent to me. I do not have access to your individual home directories to see your code. 3 students have still not submitted their code for HW0.
- Friday, 28 September: for HW0, the two arrays contain the same elements. In order to check the functionality of your exchange program you should write a for loop at the beginning of your code that initializes all the elements of one of the arrays to zeros. When testing your code for speed don't forget to remove this initialization loop and any print statements you might have included.
- Friday, 28 September: If you are having trouble with writing the code or using the unix/linux environment please e-mail me about the problems you are having. It is not my intension that using the operating system should be a problem and I can help with debugging outside of the coaching sessions.
- Friday, 28 September: The policy for turning in HW assignments will be as follows: Assignments will be accepted up to one week late from the due date and be returned with comments by one week after the late date.
On-Line Version of the Sept. 15 Tutorial on Parallel Programming through Parallel Algorithms
Additional Helpful Documents
Additional information for the assignments
- Setting up the environment:
The header files and the binary files can be downloaded from ~swatson/xmtdata. To get the data files, log in to your account in the class server and copy the assignment files from directory using the following commands:
$ cp ~swatson/xmtdata/assignent_name.tgz ~
$ tar xzvf assignent_name.tgz
This will create the directory assignment_name with following folders: data, src, and doc. Data files (header and binary data) are available in data directory. You are asked to put the output files to doc and the source codes to src.
- Running the programs
Header files can be directly included into the XMTC code with #include or can be be included with the compile option -include. The compile option -quiet can be used to have less compile message. To run the compiled program you will need to specify the binary data with -data file option. The output of the program can be written to a text file with -o option. For example:
$ xmtgcc32 program.c -include ../data/program.h -quiet
$ xmtfpga -p program.s -d ../data/program.32b program.b -o result.txt
The use of the make utility for submission (make submit) is required. Make sure that you have the correct files at correct locations (src and doc directories) using the make submitcheck command. Run following commands to submit the assignment:
$ make submitcheck
$ make submit