Skip to content

Instantly share code, notes, and snippets.

🎯
Googler

Edmond Cote edcote

View GitHub Profile
@edcote
edcote / oreilly_hands_on_ml.md
Last active Dec 18, 2018
Hands-On Machine Learning with Scikit & Tensor Flow Book Notes
View oreilly_hands_on_ml.md

Link to book: https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291

Chapter 1

ML is the field of study that gives computers the ability to learn without being explicitly programmed.

A spam filter based on ML techniques automatically learns which words and phrases are god predictors of spam by blocking unusually frequent pattern of words.

A second example where ML shines is for problems that are either too complex or have no known algorithm; speech recognition, for example.

@edcote
edcote / llvm.md
Last active Nov 9, 2018
LLVM development notes
View llvm.md
@edcote
edcote / atom.md
Last active Nov 1, 2018
Atom editor
View atom.md
View gerrit.md
@edcote
edcote / uvm.md
Last active Sep 14, 2018
UVM Cookbook
View uvm.md

UVM Basics

UVM employs a layered, object-oriented approach to testbench development.

uvm_sequence_item is a uvm_object that contains data fields to implement protocols and communicate with with DUT. uvm_driver is responsible for converted the sequence item(s) into "pin wiggles". The sequence_item(s) are provided by one uvm_sequence objects that define stimulus at the transaction level and execute on the agent's uvm_sequencer component. The sequencer is responsible for executing the sequences, arbitrating between them, and routing sequence items between the driver and the sequence.

UVM agents have a configuration object that allows the test writer to control how the testbench is assembled and executed.

Components

@edcote
edcote / coverage_cookbook.md
Last active Sep 7, 2018
Coverage Cookbook
View coverage_cookbook.md

Theory

What doesn't get measured might not get done.

  • Covergroup should be wrapped in a class:
class my_cg_mon extends uvm_subscriber #(my_txn);

  covergroup my_cg;
View virtualbox.md

Notes

  • Start Ubuntu at command line

Edit /etc/defaults/grub.

#GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"
GRUB_CMDLINE_LINUX="3"

sudo update-grub
@edcote
edcote / rock.md
Created Jul 31, 2018
Sun Rock Processor
View rock.md

I used to work on Rock. Getting around to re-read some papers on it.

SST: A Novel Architecture Implemented in Sun's ROCK Processor

SST hardware dynamically extracts two threads of execution from a single sequential program. SST uses an "efficient" checkpointing mechanism to eliminate the need for renaming logic, reorder buffer, memory disambiguation, issue windows, etc.

SST uses a traditional multithreaded pipeline with an additional mechanism to checkpoint the register file.

SST implements two hardware thread (ahead and behind). Ahead thread speculatively executes under a cache miss and speculatively retires instructions out of order. A behind thread executes instructions dependent on the cache miss.

@edcote
edcote / scala_for_ml.md
Last active Jul 18, 2018
Scala for Machine Learning
View scala_for_ml.md

Notes for 'Scala for Machine Learning, P. Nicolas" url

  • Chapter 1

Critical to understand the different classes of ML algorithms and to select the ones that are relevant to the domain.

ML problems are categorized as classification, prediction, optimization, and regression.

  • Classification is to extract knowledge for historical data. For example, a classifier can be built to identify a disease from a set of symptoms.
@edcote
edcote / neuromem.md
Last active Jul 11, 2018
NeuroMem research
View neuromem.md

CM1K Chip

Each neuron consists of SRAM and a small programmable logic unit. The logic is prewired to run certrain types of algorithms. Neurons are interconnected using a small bidir bus.

Released in 2007. Follow up to IBM ZISC chip. ZISC refers to an architecture based solely on pattern matching and the abscense of micro-instructions. A single ZISC036 holds 36 neurons to implement an RBF network trained with the RCE (or ROI) algorithm.

ZISC employs Radial Basis Function (RBF) and K-Nearest Neighbor (KNN) algorithms. ZISC approach is a specialized but cheap chip to do one thing very quickly.

  • RBF: Real-valued function whose value depends only on the distance from the origin. Used as a kernel in support vector classification. Can be interpreted as a simple single-layer type of ANN.
  • KNN: Stores all avalable cases and classifies new cases based on a similarly measure (e.g. distance function). Used in statistical estimation and pattern recognition.
You can’t perform that action at this time.