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.
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
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.
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
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.
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
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
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
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
Machine Learning (ML) Algorithm of Principal Component Analysis (PCA) The algorithm of Principal Component Analysis (PCA) is based on a few mathematical ideas namely Variance, Convariance, Eigen Vectors and Eigen values. The algorithm is of eight simple steps including preparing the data set, calculating the covariance matrix, eigen vectors and values, new feature set
Machine Learning (ML) Basic Ideas of Principal component analysis Principal component analysis (PCA) is a technique to bring out strong patterns in a dataset by supressing variations. It is used to clean data sets to make it easy to explore and analyse. We have demonstrated an example of 17 dimensions and given the basic intuition of PCA
Machine Learning (ML) Top deep learning frameworks to explore In this article, we have explored some of the top Deep Learning frameworks that are out there and you should definitely try out. Some of them are TensorFlow, Keras, Caffe, Caffe2, MXNet, CNTK, BigDL, Torch, PyTorch, deeplearn.js and others
Machine Learning (ML) Popular Datasets in Machine Learning Data sets are important in Machine learning as the more better data we have, the better the model. The various popular data sets available for machine learning are ImageNet, MNIST, NIST, CIFAR-10 and YouTube 8M.
TensorFlow Key ideas in TensorFlow TensorFlow is a popular Deep Learning library that is used to build Deep Learning models and is backed by Google. A few key ideas of TensorFlow are tensor, distributed computing, kernel abstraction, operation abstraction, computational graph, automatic gradient computation and others
TensorFlow Build and install TensorFlow from source with MKL DNN support and AVX enabled In this guide, we will walk you through building and installing TensorFlow from source with support for MKL DNN and with AVX enabled. By following the six simple steps, you can build and install TensorFlow from source in 20 minutes
Machine Learning (ML) Differences between Torch and PyTorch deep learning libraries We have explored some of the differences between two popular frameworks namely Torch and PyTorch from the view of common origin, current development status, source code and implementation, usage, performance and ONNX support. As development of Torch has been paused, you should go with PyTorch
openmp OpenMP clauses: firstprivate, lastprivate, ordered There are three basic OpenMP clauses namely firstprivate, lastprivate and ordered. firstprivate clause is used to initialize a variable from the serial part of the code and private clause doesn't initialize the variable
openmp Basic OpenMP functions There are 3 basic functions in OpenMP namely omp_get_thread_num, omp_set_num_threads (nthreads) and omp_get_num_threads. We have given a basic C/ C++ example to demonstrate the use of the function and the observation of the output as well
openmp When to use OpenMP directives? If some section of your code can be parallelized and you have more than one processor, you should definitely speed up the execution of your program using OpenMP directives. We have demonstrated how to use Amdahl's law to calculate the expected speed up and profiling to find which section takes time
openmp Introduction to OpenMP OpenMP is an open source library which is used for multi-threaded parallel processing and shared-memory multi-processor (core) computers. In OpenMP, part of program is a single thread and part is multi-threaded We have given advantages, disadvantages, industry use example, approach of OpenMP library
Machine Learning (ML) ONNX format for interchangeable AI models The Open Neural Network Exchange Format (ONNX) is a format for exchanging deep learning/ artificial intelligence models. It will make deep learning models portable thus preventing vendor lock in. We have provided a real life use case of ONNX, benefits of ONNX and the key ideas and challenges of ONNX
Machine Learning (ML) MKL (Math Kernel Library), a Basic Linear Algebra Subprograms (BLAS) Library Intel's Math Kernel Library (Intel MKL) is a Basic Linear Algebra Subprograms (BLAS) Library that optimizes code with minimal effort for future generations of Intel processors. We have presented how to download and use MKL using an example of matrix multiplication in MKL Library
Machine Learning (ML) FLAME BLIS, a Basic Linear Algebra Subprograms Library FLAME BLIS is an open source portable software framework/ Basic Linear Algebra Subprograms (BLAS) library for instantiating high-performance BLAS-like dense linear algebra libraries. We have presented how to install and use BLIS using an example of matrix multiplication in FLAME BLIS
Machine Learning (ML) OpenBLAS, a Basic Linear Algebra Subprograms Library OpenBLAS is an open source optimized BLAS (Basic Linear Algebra Subprograms) library based on GotoBLAS2 1.13 BSD version. We have presented how to install and use OpenBLAS with a matrix multiplication example in OpenBLAS
Machine Learning (ML) Basic Linear Algebra Subprograms (BLAS) Library The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. There are three levels within the BLAS library. The various implementations include Intel's MKL, BLIS, NetLib's BLAS, OpenBLAS, BLAS++ and others