The Beard Sage

  • Machine Learning
  • Computer Architecture
  • Theoretical Computer Science
  • About Me

Dependencies and Hazards

posted in Computer Architecture on March 3, 2020 by TheBeard 0 Comments

A discussion about various types of compiler and hardware dependencies and the hazards they generate.

Continue reading →

Hidden Markov Models Decoding – The Viterbi Algorithm

posted in Machine Learning on March 2, 2020 by TheBeard 0 Comments

This article discusses the problem of decoding – finding the most probable sequence of states that produced a sequence of observations. A dynamic programming approach is presented. Derivations and diagrams are sketched out and time complexity is analyzed.

Continue reading →

Branch Prediction

posted in Computer Architecture on March 1, 2020 by TheBeard 0 Comments

An exploration of various static and dynamic Branch Prediction related concepts.

Continue reading →

Loop Unrolling

posted in Computer Architecture on February 29, 2020 by TheBeard 0 Comments

Loop unrolling is a compiler optimization technique to increase instruction level parallelism. The decisions behind this technique and its limitations are discussed.

Continue reading →

Proving a Language is not Regular using the Pumping Lemma

posted in Theoretical Computer Science on February 28, 2020 by TheBeard 1 Comment

This article explores, with the help of figures, a step by step approach to prove that a language is not regular by contradicting the Pumping Lemma for Regular languages.

Continue reading →

Speculation – Hardware vs Software

posted in Computer Architecture on February 27, 2020 by TheBeard 0 Comments

A brief explanation of Speculation and how to handle exceptions both from the hardware and software side.

Continue reading →

Short Primer on Probability

posted in Machine Learning on February 26, 2020 by TheBeard 2 Comments

A primer on probability explaining the concepts of random variables, joint probabilities, marginalization, conditional probabilities, Bayes Rule, probabilistic inference and conditional independence. Examples and formulae included.

Continue reading →

Pipelining/Parallelism related Terminology

posted in Computer Architecture on February 25, 2020 by TheBeard 0 Comments

A list of definitions of Pipelining/Parallelism related terminology.

Continue reading →

Visualizing the Pumping Lemma for Regular Languages – Splitting into Substrings

posted in Theoretical Computer Science on February 24, 2020 by TheBeard 2 Comments

This article explains how to read the Pumping Lemma conditions by visualizing the breaking of a string into three substrings. A blueprint to use this Lemma to prove a language is not regular is discussed.

Continue reading →

Cache Optimizations that reduce Miss Penalty

posted in Computer Architecture on February 23, 2020 by TheBeard 0 Comments

This article lists various simple and advanced Cache Optimizations to reduce Miss Penalty. Both hardware and software based optimizations are discussed.

Continue reading →
← Older posts
Newer posts →
Copyright (C) 2021. All rights reserved.