{"id":19166530,"url":"https://github.com/xanonymous-github/cs922-lab","last_synced_at":"2025-02-22T23:21:21.013Z","repository":{"id":218731885,"uuid":"747200754","full_name":"Xanonymous-GitHub/cs922-lab","owner":"Xanonymous-GitHub","description":"Course \u0026 lab files for CS922 HPC","archived":false,"fork":false,"pushed_at":"2024-03-25T07:06:04.000Z","size":322,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-03T22:44:07.498Z","etag":null,"topics":["cpp","homework-project","hpc","mpi","openmp","parallel-programming"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xanonymous-GitHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-23T13:22:01.000Z","updated_at":"2024-02-19T21:41:34.000Z","dependencies_parsed_at":"2024-02-04T05:23:04.731Z","dependency_job_id":"e56c7577-40d6-437e-85f7-bf98c8f059d7","html_url":"https://github.com/Xanonymous-GitHub/cs922-lab","commit_stats":null,"previous_names":["xanonymous-github/cs922-lab"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xanonymous-GitHub%2Fcs922-lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xanonymous-GitHub%2Fcs922-lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xanonymous-GitHub%2Fcs922-lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xanonymous-GitHub%2Fcs922-lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xanonymous-GitHub","download_url":"https://codeload.github.com/Xanonymous-GitHub/cs922-lab/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240246733,"owners_count":19771170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","homework-project","hpc","mpi","openmp","parallel-programming"],"created_at":"2024-11-09T09:33:27.301Z","updated_at":"2025-02-22T23:21:20.992Z","avatar_url":"https://github.com/Xanonymous-GitHub.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CS922 lab files\n\n[![Try Build](https://github.com/Xanonymous-GitHub/cs922-lab/actions/workflows/build.yml/badge.svg)](https://github.com/Xanonymous-GitHub/cs922-lab/actions/workflows/build.yml)\n\n## Lab 1\n\nIn this lab, we are going to take a brief look at C and C++. The two languages are quite similar in terms of syntax and\nare often grouped together when discussing various programming languages. We’ll go through the basics and defining\ncharacteristics of both languages, discuss the tools required to compile and run source code, we’ll run through a few\nexercises, and at the end there are a few problems for you to test out your knowledge.\nIf you have done C and C++ before and know the basics including pointers memory allocation and classes, then you can\nskip.\n\n## Lab 2\n\nOpenMP (the MP stands for Multiprocessing) is an API and runtime which enables the programming of multiple processing\ncores with shared memory.\nThe API is a collection of functions and pragmas; the former allows the querying of information such as the number of\nactive threads,\nand the latter allows the definition of parallel regions. In these parallel regions, threads are spawned by the OpenMP\nruntime and the code within is executed on multiple cores.\nThese threads are then able to communicate with each other using shared memory.\nThis lab will give a basic introduction on how to use the OpenMP API to exploit parallelism in applications. Whilst\ndoing this lab,\nit is recommended that you have the OpenMP Cheat Sheet.\nThe work in this lab requires the knowledge gained from Lab 1. As such, if you have not read/completed Sections 2 and 3\nin Lab 1, then it is highly recommended you do this!\n\n## DEQN (Coursework 1, lab3)\n\nWe are going to look at deqn, a simple simulation code that we will be using for Coursework 1.\n\nThe deqn code solves the diffusion equation in two-dimensions.\n\nThe diffusion equation is a partial differential equation that describes the transfer of heat through a material.\n\nThe deqn program is designed to solve the diffusion equation in two dimensions.\nIt is written completely in C++, and the program is encapsulated into multiple objects.\nIn this section we will walk through the source code of deqn, so that you can see how it all fits together.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxanonymous-github%2Fcs922-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxanonymous-github%2Fcs922-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxanonymous-github%2Fcs922-lab/lists"}