×
Home Discussions Write at Opengenus IQ
×

Search anything:

  • DSA Cheatsheet
  • HOME
  • Jobs
  • About
  • One Liner
  • RANDOM
  • Track your progress
  • Deep Learning (FREE)
  • Join our Internship 🎓
  • AI Engineering
  • Scholarship
  • Campus Ambassador

OpenGenus IQ, an open-source Computer Science Publication House, is driven by 2500+ BSc/MSc/PhD holders globally, exploring Algorithms, Deep Learning, System Design, and more since 2017.

Machine Learning (ML)

What is a Graphics Processing Unit (GPU)?

A graphics processing unit (GPU) is a processor like CPU and TPU for faster graphics processing. Specifically, it designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer to be displayed on a screen. GPUs are developed by Intel, Nvidia and AMD (ATI).

OpenGenus Tech Review Team OpenGenus Tech Review Team
Machine Learning (ML)

Tensor Processing Unit (TPU) explained

A tensor processing unit (TPU) is a proprietary processor designed by Google in 2016 for use in neural networks inference. Norm Jouppi was the Technical leader of the TPU project. Key ideas in TPU include Matrix Multiplier Unit, Unified Buffer, Activation Unit and systolic array

OpenGenus Tech Review Team OpenGenus Tech Review Team
Software Engineering

Difference between forward proxy server and reverse proxy server

We explored the difference between forward proxy server and reverse forward proxy. Forward proxies are used for Content Filtering, eMail security, NAT’ing and Compliance Reporting. Reverse proxy are used for Content Distribution Network

OpenGenus Tech Review Team OpenGenus Tech Review Team
Algorithms

KMP (Knuth-Morris-Pratt) Algorithm

Given a string S of length n and a pattern P of length m , you have to find all occurences of pattern P in string S provided n > m. Knuth Morris Pratt algorithm is an efficient pattern searching algorithm. Time and space complexity of KMP algorithm is O(m + n) linear.

Piyush Mittal Piyush Mittal
Software Engineering

Branch prediction explained with a code example

Branch prediction is an optimization technique which predicts the path a code will take before it is known for sure. We have explained the concept with a C++ example of branch prediction where a condition statement runs slower in case of unsorted data compared to sorted data.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Machine Learning (ML)

When to use Multilayer Perceptrons (MLP)?

Multilayer Perceptrons (MLPs) are the buiding blocks of neural network. They are comprised of one or more layers of neurons. MLPs are used for classification prediction problems, regression prediction problems and tabular datasets.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Software Engineering

Multirepo vs Monorepo: Which one to choose?

Choosing between Multirepo and Monorepo depends on various factors such as Tooling infrastructure and investment, build challenges, source code version control, large scale refactoring and engineering culture. Monorepo is used by Google and Facebook while Multirepo is used by Amazon and Netfilx

OpenGenus Tech Review Team OpenGenus Tech Review Team
Software Engineering

Multirepo explained

Multirepo is a software architecture which means a separate repository for each project. Each project is an independent working unit. It has minimum tooling investment and is in use at companies such as Amazon and Netflix.

OpenGenus Tech Review Team OpenGenus Tech Review Team
monorepo

Monorepo explained

Monorepo is a repository that contains more than one logical project. It comes with several advantages such as collaboration among various teams and at the same time, disadvantages such as massive tooling and infrastructure investment Monorepo architecture is followed by Google, Facebook and Twitter

OpenGenus Tech Review Team OpenGenus Tech Review Team
Machine Learning (ML)

When to use Recurrent Neural Networks (RNN)?

Recurrent Neural Networks (RNNs) are designed to work with sequence prediction problems. RNNs can be used on Text data, Speech data, Classification prediction problems, Regression prediction problems and Generative models. Sequence prediction problems come in many forms.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Machine Learning (ML)

When to use Convolutional Neural Networks (CNN)?

Use CNN for data with a spatial relationship. Convolutional Neural Networks (CNNs) are designed to map image data to an output variable. They have proven so effective that they are the ready to use method for any type of prediction problem involving image data as an input

OpenGenus Tech Review Team OpenGenus Tech Review Team
TensorFlow

Run TensorFlow Convolutional Neural Network (TF CNN) benchmarks in CPU

We will walk you through running the official benchmark of (TF CNN benchmark) TensorFlow for Convolutional Neural Network on your machine. The process is simple and we have divided it into three simple steps: install tensorflow, get the benchmarking code and run the benchmark and observe results

OpenGenus Tech Review Team OpenGenus Tech Review Team
data science

Basic Data Science concepts everyone needs to know

In this article, we explored some of the basic data science concepts everyone needs to understand to ace things in real life. We demonstrated basic statistic measurements such as median, bayesian statistics, probability distribution, dimensionality reduction and over and under sampling of data.

Devansh Biswal
Algorithms

Rabin-Karp Pattern Searching Algorithm

Rabin-Karp Algorithm is an efficient string pattern searching algorithm that utilizes the technique of hashing to search for patterns in a string in linear time by using a clever way of calculating hashes. This algorithm has been developed by Richard M. Karp and Michael O. Rabin in 1987.

Aman Agarwal Aman Agarwal
Machine Learning (ML)

Difference between MKL, MKL ML and MKL DNN

In this article, we give the relation between MKL, MKL ML and MKL DNN. MKL is a closed sourced BLAS library while MKL ML is an open-source BLAS library which is actually a subset of MKL. MKL DNN is an open source library used to optimize Deep Neural Network operations and depends on a BLAS library.

OpenGenus Tech Review Team OpenGenus Tech Review Team
eigen

What is Eigen C++ Library?

Eigen is an efficient open-source C++ library for linear algebra, matrix and vector operations, geometrical transformations, numerical solvers and related algorithms. It has been developed by two great developers namely Benoit Jacob and Gael Guennebaud. It has support for compilers like GCC

OpenGenus Tech Review Team OpenGenus Tech Review Team
openblas

Install OpenBLAS from source

In this article, we will guide you to install OpenBLAS from source in three simple steps. OpenBLAS is an open source optimized BLAS (Basic Linear Algebra Subprograms) library based on GotoBLAS2 1.13 BSD version.

OpenGenus Tech Review Team OpenGenus Tech Review Team
openmp

Install OpenMP from source

In this guide, we will walk you through the installation steps of OpenMP from source. Open Multi-Processing is a library that is used to make programs execute in a parallel fashion. It supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran on most platforms

OpenGenus Tech Review Team OpenGenus Tech Review Team
Genetic Algorithms

Basics of Genetic Algorithms

A genetic algorithm is a search heuristic (related to making guesses) algorithm that is inspired by Charles Darwin’s theory of natural evolution. We have explained the basic concepts of genetic algorithms including initial population, fitness function, selection, crossover and mutation.

OpenGenus Tech Review Team OpenGenus Tech Review Team
verilog

Basics of Verilog Programming

we demonstrate the key components of Verilog Programming for FPGA such as modules, ports, drivers, reg, wire, operators, conditional operators, begin, end, always block, posedge, blocking, non blocking statements, connecting modules and others. With the knowledge, you can stimulate basic circuits

OpenGenus Tech Review Team OpenGenus Tech Review Team
Machine Learning (ML)

Building a Convolution Neural Network (CNN) for handwritten digit recognition in Python using Keras

We built a Convolution Neural Network (CNN) for handwritten digit recognition from scratch in python. We will be using Keras API with TensorFlow backend and use handwritten digits dataset from Kaggle.

Piyush Mishra
fpga

Verilog vs VHDL (VHSIC Hardware Description Language)

Verilog and VHDL (VHSIC Hardware Description Language) are both hardware description language for hardware modeling and we have compared them. Verilog is used extensively for production level projects and in Industry. VHDL is great for beginners who are yet to develop Hardware Design Principles

OpenGenus Tech Review Team OpenGenus Tech Review Team
fpga

Structure of Field Programmable Gate Array (FPGA)

A field programmable gate array (FPGA) consists of Input/ Output Pads, Configurable Logic Blocks (CLB), Connection Blocks, Switch Blocks and Channel Width. A field programmable gate array is an integrated circuit designed to be configured by anyone for various purposes like hardware stimulation

OpenGenus Tech Review Team OpenGenus Tech Review Team
fpga

Field Programmable Gate Array (FPGA)

A field programmable gate array (FPGA) is an integrated circuit designed to be configured by anyone for various purposes like hardware stimulation. FPGA is defined by two keywords namely field programmable and gate array. We have provided applications, manufacturers and why to use FPGA

OpenGenus Tech Review Team OpenGenus Tech Review Team
Machine Learning (ML)

Why Principal Component Analysis (PCA) works?

We have demonstrated how and why Principal Component Analysis (PCA) works using the intuition behind the common operations used in the algorithm such as Variance, Covariance, Eigenvectors and Eigenvalues. Eigenvectors represent directions while Eigenvalues represent magnitude the importance

OpenGenus Tech Review Team OpenGenus Tech Review Team
OpenGenus IQ © 2026 All rights reserved â„¢ [email: team@opengenus.org]
Top Posts LinkedIn Twitter