Todo

  • Fix the github runners for the knowledge base ✅ 2025-11-11
  • Take STAB52 notes ✅ 2025-11-11
  • CSCC10 discussion ✅ 2025-11-11
  • Develop STAB52 cheat sheet ✅ 2025-11-11
  • Fix Invidious, diagnose if ip banned
  • Review verilog items for tomorrow workshop ✅ 2025-11-11
  • Change Homelab CICD for zettelkasten to run twice a day, instead of on push ✅ 2025-11-11
  • Review Computer Graphics ✅ 2025-11-12

Thoughts

  • OpenCL TLDR:
    • You have these things called hosts that are able to compute a full OpenCL program
    • You subdivide a host with a memory model for units of work
    • A work item is the smallest unit
    • A work group is a collection of work items
    • A kernel is responsible for doing the tasks of a work group, and kernels can run in paralell
    • A context is used to manage kernels, and the context has its own memory
    • The context issues commands to kernels using a command queue
    • The command queue has in order or out of order queue types, but they are all equivalent after Synchronization
    • There is a program object which is the final executable that is created during the program
    • The program object contains references to command queue and context
    • The final OpenCL program compiles and emulates the program object with GPU bindings