A Neural Network in 10 lines of CUDA C++ Code

Purpose: For education purposes only. The code demonstrates supervised learning task using a very simple neural network. Reference: inspired by Andrew Trask‘s post. The core component of the code, the learning algorithm, is only 10 lines: The loop above runs for 50 iterations (epochs) and fits the vector of attributes X to the vector of […]

Continue reading


CVPR 2017: The Fusion of Deep Learning and Computer Vision, What’s Next?

The 2017 Conference on Computer Vision and Pattern Recognition (CVPR) was hosted from July 21st to July 26th in Honolulu, Hawaii. This year’s conference accepted 783 papers out of 2,620 valid submissions, which included 215 long and short presentations and 3 parallel tracks. The conference attracted 127 sponsors with $859,000 in sponsorship funds, and close […]

Continue reading


Multithreading in Python | Part-2

Note: This article has also featured on geeksforgeeks.org . Multithreading in Python | Part-1 This article discusses the concept of thread synchronization in case of multithreading in Python programming language. Synchronization between threads Thread synchronization is defined as a mechanism which ensures that two or more concurrent threads do not simultaneously execute some particular program […]

Continue reading


Multithreading in Python | Part-1

Note: This article has also featured on geeksforgeeks.org . This article covers the basics of multithreading in Python programming language. Just like multiprocessing, multithreading is a way of achieving multitasking. In multithreading, the concept of threads is used. Let us first understand the concept of thread in computer architecture. Thread In computing, a process is […]

Continue reading


Multiprocessing in Python | Part-3

Note: This article has also featured on geeksforgeeks.org . This article discusses two important concepts related to multiprocessing in Python: Synchronization between processes Pooling of processes Synchronization between processes Process synchronization is defined as a mechanism which ensures that two or more concurrent processes do not simultaneously execute some particular program segment known as critical […]

Continue reading


Multiprocessing in Python | Part-2

Note: This article has also featured on geeksforgeeks.org . Multiprocessing in Python | Part-1 This articles discusses the concept of data sharing and message passing between processes while using multiprocessing module in Python. In multiprocessing, any newly created process will do following: run independently have their own memory space. Consider the program below to understand […]

Continue reading


Multiprocessing in Python | Part-1

Note: This article has also featured on geeksforgeeks.org . This article is a brief yet concise introduction to multiprocessing in Python programming language. What is multiprocessing? Multiprocessing refers to the ability of a system to support more than one processor at the same time. Applications in a multiprocessing system are broken to smaller routines that […]

Continue reading


A Neural Network in 10 lines of C++ Code

Purpose: For education purposes only. The code demonstrates supervised learning task using a very simple neural network. In my next post, I am going to replace the vast majority of subroutines with CUDA kernels. Reference: Andrew Trask‘s post. The core component of the code, the learning algorithm, is only 10 lines: The loop above runs for 50 iterations […]

Continue reading