# Honor code statement

This repository showcases two Georgia Tech CS8803 (GPU Hardware and Software) projects:
a cycle-level GPU simulator extended with compute/tensor execution, and a SASS branch-divergence
static analysis. Both courses' materials are governed by the Georgia Tech academic honor code,
and this repository is built to respect it.

**What is deliberately NOT here — and never will be:**

- The course simulator framework, its build system, configs, or any of its C++ source.
- The SASS-lifter framework (parser, IR data structures, lifter) or any of its Python source.
- My graded solution code for either project.
- The course-provided SASS test corpus, CUDA test sources, or trace files. No instruction text from
  that corpus appears anywhere in this repository — including in the divergence animation, whose
  featured listing is compiled from my own source (see below).
- The course-supplied reference logs (`ref_log/`) — no tool in this repo is even allowed to read them.
- Assignment PDFs, README text, or per-test-case answer listings. The 20-file corpus reaches this
  repository only through `data/prj5_corpus.json`, and only as aggregate counts — files parsed,
  summed blocks, instructions and divergent branches, and an architecture histogram. No filenames,
  no per-kernel results, no instruction text.

**What IS here:**

- My own measured results: final statistics and per-kernel/per-core counters parsed out of my own
  simulator run logs, and the CFG/taint-trace data produced by running my own analysis pass.
- The kernel featured in the divergence animation: my own bitonic compare-exchange source, compiled
  with nvcc (`-arch=sm_75`) and disassembled with nvdisasm, then fed through my analysis pass — so
  the instruction stream shown is derived entirely from my own artifact, not from any
  course-supplied SASS listing. The exact toolchain invocations are recorded in
  `data/prj5_cfg.json` under `meta.provenance`.
- Visualization code (the animation pages, capture pipeline, and log extractor) written from
  scratch for this repository.
- A hand-written "equivalent source" snippet in the divergence animation, authored for the
  visualization — not copied from course files.

The Project-5 data-dump driver deliberately stays in my private course repository because it
embeds an instrumented copy of the graded algorithm; only its JSON output appears here. As a
mechanical backstop, this repo's `.gitignore` blocks `*.cpp`, `*.h`, `*.cu`, `*.cc`, `*.sass`,
`*.log`, `log/`, `ref_log/`, and `xmls/` from ever being committed.

Solution code is available privately to instructors or employers on request.
