Skip to content
View bnorthern42's full-sized avatar
β˜•
Converting coffee to code
β˜•
Converting coffee to code

Block or report bnorthern42

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
bnorthern42/README.md

πŸ‘‹ Brad Northern β€” HPC Engineer | Scientific Computing | C++ Systems

πŸš€ High Performance Computing (HPC) Researcher focused on large-scale FEM, sparse systems, and distributed compute. I build systems that don’t fit in RAMβ€”and then make them faster anyway.


πŸ”¬ Current Work

A modular, performance-first C++17 utility library designed for scientific computing and HPC workflows.

Core Capabilities

  • Thread-safe logging (low overhead, multi-thread aware)
  • Scope-based timing + profiling instrumentation
  • Throughput benchmarking (compute + memory)
  • Resource tracking (memory, execution, scaling)
  • Built for MPI/OpenMP environments
  • Clean integration with Meson build system

Designed to support real-world HPC workloads, not toy examples.


🧠 Research & Technical Focus

  • Sparse Linear Algebra (CSR / COO / BSR / ELL / VBR)
  • Krylov Subspace Methods (GMRES, iterative solvers)
  • Finite Element Methods (MFEM)
  • Adaptive Mesh Refinement (AMR)
  • Distributed Systems & Multi-node Scaling
  • Slurm-based HPC environments
  • Memory-bound performance optimization

πŸ’‘ Current emphasis: Bridging numerical methods with real-world scalability constraints (memory, bandwidth, communication overhead).


πŸ’¬ Ask Me About

  • Scaling FEM simulations to millions–billions of DOFs
  • Sparse matrix performance tradeoffs
  • MPI + OpenMP hybrid parallelism
  • HPC profiling, bottlenecks, and memory diagnostics
  • Linux-based research environments

🌐 Connect


⚑ Background

Started in Manufacturing Engineering β†’ pivoted into High Performance Computing, numerical methods, and large-scale simulation.


🧰 Technical Stack

🧩 Systems & Core (Primary Strength)

  • C++ (Modern + Legacy) β€” 9
  • C β€” 9
  • Java (Spring Boot) β€” 8
  • Assembly β€” 5

Strong focus on performance-critical, low-level systems


βš™οΈ HPC & Scientific Computing

  • MPI / OpenMP β€” 8
  • MFEM / FEM pipelines β€” 7
  • Slurm / Cluster tooling β€” 7

🌐 Full-Stack & Tooling

  • TypeScript / React / Node β€” 8
  • HTML / CSS β€” 8–9
  • SQL (Postgres) β€” 8

πŸ§ͺ Scripting & Data

  • Shell (Linux) β€” 6
  • Python β€” 4 (used pragmatically, not religiously)
  • R β€” 4

🧠 Experimental / Exploring

  • Odin
  • Zig

🏭 Industrial / Edge Experience

  • Ladder Logic (Allen-Bradley PLCs)
  • CNC Programming (G/M Code)
  • NodeJS, Cypress SDET
  • C++ on Large Clusters

🧠 Philosophy

If your program fits in RAM, you’re playing a different game.

I focus on:

  • Problems where memory is the bottleneck
  • Systems where performance = survival
  • Code that runs on clusters, not laptops

Pinned Loading

  1. Random-data-generator Random-data-generator Public

    Generates random data, given a size in KB (1024 bytes).

    C++

  2. Wurm-Random-Tools Wurm-Random-Tools Public

    A set of tools for the game: Wurm Online

    HTML

  3. CSV-Merge-to-Excel CSV-Merge-to-Excel Public

    CSV-ME, takes a CSV file from the user and inputs it into an existing spreadsheet. Written in Java 11 using Maven

    Java

  4. ROI_GUI ROI_GUI Public

    A simple GUI for determining simple Return-On-Investment

    Java

  5. trading-view-scripts trading-view-scripts Public

    a collection of my personal trading view scripts

  6. vercasm/CVE2DBMS vercasm/CVE2DBMS Public

    Allows importing of CVE Data from NVD into PostgreSQL. By taking in JSON data and converting it to a more usable relational dataset

    Java 3