Category Software Architecture

NVIDIA GPU Architecture & CUDA Programming Environment

1. Introduction GPU was first invented by NVidia in 1999. Originally GPUs were purely fixed-function devices, meaning that they were designed to specifically process stages of graphics pipeline such as vertex and pixel shaders, but they have evolved into increasingly flexible programmable processors. Modern GPUs are fully programmable manycore chips built around an array of […]

Modern large scale architectures

Facebook and Microsoft shared how they build their software. Some excellent insight into modern software practices. The most obvious approach might be to imagine the future you want and build it. Unfortunately, that doesn’t work that well because technology co-evolves with people. It’s a two step—technology pushes people to move forward and then people move […]

Software Development Process Diagram

Came across a very good albeit old (but not aged) diagram describing development process, found in Patterns of Software Architecture (POSA) book. Compare that to Microsoft’s vision of a modern cloud-based application from today: