Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
🐙

Muhammad Osama neoblizz

💭
🐙
View GitHub Profile
View effective_modern_cmake.md

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](https://www.amazon.de/Large-Scale-Soft

@neoblizz
neoblizz / symph-examples.md
Last active Mar 27, 2020
Symphony Examples
View symph-examples.md

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
neoblizz / cupti_events.md
Created Mar 26, 2020
CUPTI Events for NVIDIA Volta V100 (32 GB)
View cupti_events.md

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.

    active_cycles_pm
    active_warps_pm
    shared_ld_transactions
    shared_st_transactions
    elapsed_cycles_sm
    elapsed_cycles_pm
    inst_executed_fp16_pipe_s0
View 20111011_SteveYeggeGooglePlatformRant.md

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
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
neoblizz / mysqli
Last active Apr 10, 2019 — forked from alixcan/mysql li jream
Mysqli Class
View mysqli
<?php
/**
* Simple MySQLi Class 0.3
*
* @author JReam
* @license GNU General Public License 3 (http://www.gnu.org/licenses/)
*
* 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
neoblizz / GitCommitEmoji.md
Last active Mar 3, 2019 — forked from parmentf/GitCommitEmoji.md
Git Commit message Emoji
View GitCommitEmoji.md
@neoblizz
neoblizz / grapl19.sh
Last active Jan 29, 2019
Script for BFS on all datasets for grAPL submission
View grapl19.sh
#!/bin/bash
EXEDIR="../../../build/bin"
EXECUTION="bfs"
DATADIR="/data/gunrock_dataset/large"
DATAHUGE="/data/gunrock_dataset/huge"
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:

tmux

start new with session name:

tmux new -s myname