Skip to content

Instantly share code, notes, and snippets.

View neoblizz's full-sized avatar
🐙

Muhammad Osama neoblizz

🐙
View GitHub Profile
@neoblizz
neoblizz / tmux-cheatsheet.markdown
Created June 6, 2017 01:10 — forked from MohamedAlaa/tmux-cheatsheet.markdown
tmux shortcuts & cheatsheet

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname
@neoblizz
neoblizz / grapl19.sh
Last active January 29, 2019 12:51
Script for BFS on all datasets for grAPL submission
#!/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"
@neoblizz
neoblizz / GitCommitEmoji.md
Last active March 3, 2019 20:21 — forked from parmentf/GitCommitEmoji.md
Git Commit message Emoji
@neoblizz
neoblizz / mysqli
Last active April 10, 2019 04:38
Mysqli Class
<?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 / test_helpers.hxx
Created April 23, 2019 05:07
Simplified SSSP-Gunrock
// ----------------------------------------------------------------
// 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

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 / cupti_events.md
Created March 26, 2020 15:49
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.

    active_cycles_pm
    active_warps_pm
    shared_ld_transactions
    shared_st_transactions
    elapsed_cycles_sm
    elapsed_cycles_pm

inst_executed_fp16_pipe_s0

@neoblizz
neoblizz / symph-examples.md
Last active March 27, 2020 21:15
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
neoblizz / effective_modern_cmake.md
Created February 9, 2021 12:15 — forked from mbinna/effective_modern_cmake.md
Effective Modern CMake

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 / sparsify.cu
Last active May 4, 2021 11:47
CUDA-based implementation to introduce sparsity.
#include <stdio.h>
#include <stdlib.h>
#include <ctime>
#include <random>
#include <thrust/device_vector.h>
#include <thrust/host_vector.h>
#include <thrust/transform.h>
#include <thrust/iterator/counting_iterator.h>