Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/awpala/cs-6290-hpca-setup-and-debugger
Docker-based development and debugging via VS Code for HPCA (CS 6290)
https://github.com/awpala/cs-6290-hpca-setup-and-debugger
computer-science cs-6290 debugger docker docker-compose gatech georgia-tech gt-omscs hpca omscs omscs-courses sesc vscode
Last synced: 3 days ago
JSON representation
Docker-based development and debugging via VS Code for HPCA (CS 6290)
- Host: GitHub
- URL: https://github.com/awpala/cs-6290-hpca-setup-and-debugger
- Owner: awpala
- Created: 2023-12-11T14:30:17.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-14T23:12:22.000Z (about 1 year ago)
- Last Synced: 2023-12-15T00:25:18.248Z (about 1 year ago)
- Topics: computer-science, cs-6290, debugger, docker, docker-compose, gatech, georgia-tech, gt-omscs, hpca, omscs, omscs-courses, sesc, vscode
- Homepage:
- Size: 1.15 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CS 6290 (HPCA) Docker + VS Code Project Setup and Debugger
## Introduction
This repository is a collection of resources pertaining to setting up the [SESC](https://sesc.sourceforge.net/) application for projects in OMSCS course ***High Performance Computer Architecture (HPCA)***, CS 6290.
The net result is a [Docker](https://docs.docker.com/)-based development environment for editing, running, and debugging the SESC app, summarized as follows:
**CAVEAT**: This setup assumes a local ***x86-based*** client/host device. Otherwise, if using ARM (e.g., Apple Silicon M1, M2, etc.), consult relevant resources and posts in Ed, etc., as the setup described in this guide may be otherwise problematic to deal with.
## Prerequisites
Prior to proceeding further, ensure that the following **dependencies** are installed locally on your client/host device:
* [Docker Desktop](https://www.docker.com/products/docker-desktop/) (or equivalent Docker Engine) for containerization
* On installation, this will also provide the underlying [Docker Engine](https://docs.docker.com/engine/) (Linux-based) virtualization layer, and the [Docker Compose](https://docs.docker.com/compose/) command line tool
* [VS Code](https://code.visualstudio.com/) for interaction with the source code and files***Note***: For Windows client/host devices, when installing Docker Desktop, use the default/preselected [WSL 2](https://aka.ms/wsl) based installation settings (i.e., rather than Hyper-V). This is a Windows-specific sub-dependency which provides the underlying Linux-based virtualization layer.
Additionally, ensure the following VS Code extensions are installed:
* [Remote Development extension pack](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack)
* [Docker](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker)
* [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)***Note***: See [here](https://code.visualstudio.com/docs/remote/remote-overview) for more information regarding VS Code remote extension pack. Also, see [here](https://code.visualstudio.com/docs/languages/cpp) for more information regarding C/C++ development using VS Code.
Relevant files provided in this repository are referenced in subsequent sections/links. For expediency, you may either pull down or download this entire repository in order to access these files in a single/consolidated manner, or otherwise simply transfer these files on an ad hoc basis as needed.
***Note***: In general throughout this repo, `~` and `/home/cs6290/` (i.e., home directory of user `cs6290`) refer to the ***same*** location within the ([Linux-based](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard)) file system of the Docker-containerized (or equivalent) development environment.
## Environment Setup
On completed installation of the prerequisites, see the [Environment Setup](./env-setup.md) for further instructions regarding instantiating the Docker-based development environment, which contains a containerized version of the SESC app and related development tools (i.e., compiler and debugger).
## Debugging
On successful setup of the development environment (or equivalent), see the [Debugging Guide](./debugging-guide.md) for further information regarding configuring and using the debugger (i.e., for projects work).