Skip to content

Instantly share code, notes, and snippets.

View LouisJenkinsCS's full-sized avatar
💭
Fellow of the Department of Energy's Computational Sciences Graduate Fellowship.

Louis Jenkins LouisJenkinsCS

💭
Fellow of the Department of Energy's Computational Sciences Graduate Fellowship.
View GitHub Profile
@LouisJenkinsCS
LouisJenkinsCS / dependency_graph.c
Last active January 22, 2020 16:56
Doxygen - Dependency Graph for PMAT
#include "dependency_graph.h"
@LouisJenkinsCS
LouisJenkinsCS / main.cc
Last active December 10, 2019 00:44
Assignment 6 - Templates (Starter Code)
#include "set.hpp"
int main() {
// Some miscellaneous code to get you started on testing your sets.
// The following should work:
std_simple_set<int> R;
R += 3;
cout << "3 is " << (R.contains(3) ? "" : "not ") << "in R\n";
@LouisJenkinsCS
LouisJenkinsCS / poll-ur-machines.bash
Created November 27, 2019 04:08
Poll UR machines
list=(cycle1 cycle2 cycle3 node2x18a node01 node02 node03 node04 node05 node06 node2x14a node-ibm-822 gpu-node01 gpu-node02 gpu-node03 gpu-node04 gpu-node05 gpu-node06)
username=cs254
for machine in ${list[@]}; do
echo "$machine.csug.rochester.edu"
ssh -o LogLevel=QUIET -o ConnectTimeout=1 -t "${username}@${machine}.csug.rochester.edu" "who | wc -l";
if [ $? -ne 0 ]; then
echo "(DOWN)";
fi
done
@LouisJenkinsCS
LouisJenkinsCS / extract-with-correct-permissions.bash
Last active December 6, 2019 16:03
University of Rochester - TA Split Work Script
#!/bin/bash
for f in ./*.tar.gz; do fstr=$(echo $f | grep -E -o "./[a-z]+[0-9]+?"); mkdir -p $fstr; chmod o-rwx $fstr; tar -xvf $f -C $fstr; done;
for f in ./*; do chmod o-rwx $f; done;
@LouisJenkinsCS
LouisJenkinsCS / script.txt
Created September 26, 2019 00:06
Chapel CommDiagnostics Verbose Output Script
p02405@swan:/lus/scratch/p02405/DistributedInterlockedHashTable-Chapel> ./DistributedInterlockedHashTable -nl 8 | awk 'BEGIN { FS="\n" } match($1, /[0-9]+: (.*\.chpl:[0-9]+)/, arr) { print arr[1] }' | sort | uniq -c | sort -nr | head -50
893350 $CHPL_HOME/modules/internal/ChapelArray.chpl:1202
634910 DistributedInterlockedHashTable.chpl:334
634059 $CHPL_HOME/modules/internal/ChapelArray.chpl:2685
317331 DistributedInterlockedHashTable.chpl:175
317193 $CHPL_HOME/modules/internal/DefaultRectangular.chpl:588
312241 DistributedInterlockedHashTable.chpl:284
307935 DistributedInterlockedHashTable.chpl:431
297480 DistributedInterlockedHashTable.chpl:402
297421 DistributedInterlockedHashTable.chpl:453
@LouisJenkinsCS
LouisJenkinsCS / QSBR.diff
Created September 19, 2019 19:04
QSBR Diff
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000..6d40f422fd
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+ "files.associations": {
+ "resource.h": "c"
+ }
@LouisJenkinsCS
LouisJenkinsCS / Makefile
Created September 14, 2019 23:11
Assignment 2 - Basic Scanner and Parser
# Trivial makefile for the calculator scanner/parser.
# Depends on default (built-in) rules for C compilation.
# Note that rule for goal (parse) must be the first one in this file.
parse: parse.o scan.o
gcc -o parse parse.o scan.o
clean:
rm *.o parse
@LouisJenkinsCS
LouisJenkinsCS / idea.md
Created July 27, 2019 17:57
Distributed Global-View RDMA Queue

Remote Direct Memory Access (RDMA) on Cray-Aries network allows performing atomic operations over the network with super low latency that is as fast as a PUT without any intervention from the CPU. Head and Tail are initially nil.

Enqueue

  1. Enqueue performs RDMA atomic exchange on Tail.
  2. Enqueue sets next field to old head, then sets atomic 'is_ready' flag.
  3. Performs an RDMA atomic store if the old Tail was nil.

Bulk Enqueue

@LouisJenkinsCS
LouisJenkinsCS / CHGL.py
Last active July 7, 2019 21:57
CHGL <-> HNX Pipeline Sketch
import zmq
import multiprocessing
from concurrent.futures import *
# Abstraction that represents an operation descriptor.
# Each operation will be converted into this.
class OpDescr:
# Constant for sent and received operation descriptors
SYN = 0x0 # Sent to server to initiate connection
ACK = 0x1 # Received from server to verify connection
use RangeChunk;
use BlockDist;
use Time;
use Sort;
config const dataset = "../data/karate.mtx_csr.bin";
config const numEdgesPresent = true;
proc isLocalArray(A : []) : bool {
return A.locale == here && A._value.dom.locale == here;