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 previously offered during the 1st semester of the academic year 2022-2023. This version With some modifications is offered for the 2nd semester of the academic year 2023-2024.
Most codes are based on those in the books used as textbook and references. Exercises as machine problems will be taken from other sources and will provide updates along the way. 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.
The syllabus is accessible here.
An in-class discussion will happen during one of the meeting days. You are expected to work on the problems assigned in the other meeting day. Please be free in collaborating with your classmates in all learning process. The Discord server for this activity has been created for this particular purpose.
MEx 0: Installation and exploration of the Julia language
OBJECTIVE: Successfully Explore Julia
MEx 1: HPC and the Julia Framework
OBJECTIVE: Explore Julia framework for HPC
MEx 2: Memory management of machine representation
OBJECTIVE: Demonstrate speedup via memory management via analysis of logistic map
OBJECTIVE: Identify critical principles of simulation and modeling in at a project involving physical system modeling or simulation.
All submissions must be done via the Google Classroom link. Your own Google document may be provided as a template which you are to modify and submit.
UNLESS specified OTHERWISE, Jupyter notebook files shall be submitted in the following options. There are two options for submitting in our Google Classroom. The submission date will be reflected appropriately by the Google Classroom.
For both options, click the appropriate button ("TURN IN")
- Option 1 Jupyter nb file: Upload
MEx-[n]-[SURNAME-GivenName]-[Exercise/File-short-title].ipynb
and the other required files such asMEx-[n]-Function-name1.jl
andMEx-[n]-Function-name2.jl
(or similar files). - Option 2 GitHub link: Create a new Google Doc with the same filename
MEx-[n]-[SURNAME-GivenName]-[Exercise/File-short-title]
and type there the GitHub link of the code.
Sample name: MEx-0-BANTANG-JohnRob-Julia-exploration.ipynb
For both cases, also submit a PDF version of the Jupyter notebook of the same filename base ---after having run all necessary commands--- together with the other functions files as required. 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 ..."]
.