by: Johnrob Y. Bantang, Ph.D.
This is a repository of the codes, notes, and slides used in a course on High-Performance Computing using Julia as the language (Physics 215: Computational Methods of Physics) at the National Institute of Physics, College of Science, University of the Philippines in Diliman.
This course is taught in the 2nd semester of the academic year 2021-2022.
Most codes are based on those in the books used as textbook and references. Copyright mode is MIT since it covers the copyright mode of those references.
Please drop me a note for any possible copyright problem since I'm making this public for my class.
Check it here.
The sequence of topics will generally follow the MAIN book reference following each chapter. Discussions will be live synchronous activity every Thursdays to discuss the chapter and computational physics topics. I expect everyone to use the Tuesday schedule in finishing the allocated homework sessions posted in the Google Classroom. This list may change as determined by the instructor. Each number will generally be allocated for the week number of the semester.
Installation and exploration of the Julia language
OBJECTIVE: Successfully Explore Julia
OBJECTIVE: Confirm Julia framework and Base speed
OBJECTIVE: Submit a performance analysis of a self-implemented physics textbook function using Julia benchmarking tools.
Type and type-related performance
OBJECTIVE: Demonstrate the dynamic programming features of Julia (type dynamism)
Type and type-related performance
OBJECTIVE: Compare benchmark times of different implementation of functions that can be expressed as a recursion relation.
OBJECTIVE: Identify critical principles of simulation and modeling in at a project involving physical system modeling or simulation.
Two possible modes of submission is possible.
In both cases, submission must be done through the Google Classroom.
All [filename]
must have the following pattern: Session[n]-[Surname-GivenName]-[Exercise/File-short-title]
with the appropriate extension name.
- Option 1 -- Jupyter nb file: Submit a Jupyter notebook file with the following name format
[filename].ipynb
. Other related files must be submitted accordingly changing the portion[Exercise/File-short-title]
. - Option 2 -- GitHub link: Comment under "Private Comments" the link of the
.ipynb
file in your GitHub repository. The repository or at least the file must be public or at least accessible to the Instructor. Upload a PDF version of the Jupyter notebook of the same filename base ---after having run all necessary commands--- together with the same functions files stated in Option 1. If PDF export does not work you may opt to submit an HTML-formatted output instead.
Conversion of the notebook to different formats can be achieved in the web-interface via the menu File / Download as / [Choose "HTML/PDF via ..."]
.