Skip to content

Instantly share code, notes, and snippets.


Muhammad Osama neoblizz

View GitHub Profile

Effective Modern CMake

Getting Started

For a brief user-level introduction to CMake, watch C++ Weekly, Episode 78, Intro to CMake by Jason Turner. LLVM’s CMake Primer provides a good high-level introduction to the CMake syntax. Go read it now.

After that, watch Mathieu Ropert’s CppCon 2017 talk Using Modern CMake Patterns to Enforce a Good Modular Design (slides). It provides a thorough explanation of what modern CMake is and why it is so much better than “old school” CMake. The modular design ideas in this talk are based on the book [Large-Scale C++ Software Design](

neoblizz /
Last active Mar 27, 2020
Symphony Examples

2D Merge-Path Search (by Duane Merrill)

  • Input: Diagonal index, lengths of lists A and B, iterators (pointers) to lists A and B
  • Output: The 2D coordinate (x,y) of the intersection of the merge decision path with the specified grid diagonal
CoordinateT MergePathSearch(int diagonal, int a_len, int b_len, AIteratorT a,
                            BIteratorT b) {
  // Diagonal search range (in x coordinate space)
  int x_min = max(diagonal - b_len, 0);
  int x_max = min(diagonal, a_len);
neoblizz /
Created Mar 26, 2020
CUPTI Events for NVIDIA Volta V100 (32 GB)

CUPTI Events for Volta V100 (32 GB)

Following is the list of CUPTI events that you can profile for a Volta V100 (32 GB) NVIDIA graphics card in a DGX Station.


Stevey's Google Platforms Rant

I was at Amazon for about six and a half years, and now I've been at Google for that long. One thing that struck me immediately about the two companies -- an impression that has been reinforced almost daily -- is that Amazon does everything wrong, and Google does everything right. Sure, it's a sweeping generalization, but a surprisingly accurate one. It's pretty crazy. There are probably a hundred or even two hundred different ways you can compare the two companies, and Google is superior in all but three of them, if I recall correctly. I actually did a spreadsheet at one point but Legal wouldn't let me show it to anyone, even though recruiting loved it.

I mean, just to give you a very brief taste: Amazon's recruiting process is fundamentally flawed by having teams hire for themselves, so their hiring bar is incredibly inconsistent across teams, despite various efforts they've made to level it out. And their operations are a mess; they don't real

neoblizz / test_helpers.hxx
Created Apr 23, 2019
Simplified SSSP-Gunrock
View test_helpers.hxx
// ----------------------------------------------------------------
// Gunrock -- Fast and Efficient GPU Graph Library
// ----------------------------------------------------------------
// This source code is distributed under the terms of LICENSE.TXT
// in the root directory of this source distribution.
// ----------------------------------------------------------------
* @file
* test_helpers.hxx
neoblizz / mysqli
Last active Apr 10, 2019 — forked from alixcan/mysql li jream
Mysqli Class
View mysqli
* Simple MySQLi Class 0.3
* @author JReam
* @license GNU General Public License 3 (
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 3 of the License, or
neoblizz /
Last active Mar 3, 2019 — forked from parmentf/
Git Commit message Emoji
neoblizz /
Last active Jan 29, 2019
Script for BFS on all datasets for grAPL submission
SETTING[0]=" --src=0 --undirected --idempotence --queue-sizing=6.5 --in-sizing=4 --iteration-num=10 --direction-optimized"
SETTING[1]=" --src=0 --idempotence --queue-sizing=6.5 --in-sizing=4 --iteration-num=10 --direction-optimized"
View tmux-cheatsheet.markdown

tmux shortcuts & cheatsheet

start new:


start new with session name:

tmux new -s myname