Dr Donald Kinghorn (HPC and Scientific Computing)

Machine Learning and Data Science: Linear Regression Part 4

Written on June 15, 2017 by Dr Donald Kinghorn

In this post I'll be working up, analyzing, visualizing, and doing Gradient Descent for Linear Regression. It's a Jupyter notebook with all the code for plots and functions in Python available on my github account.



Dr Donald Kinghorn (HPC and Scientific Computing)

Machine Learning and Data Science: Linear Regression Part 3

Written on June 10, 2017 by Dr Donald Kinghorn

In Part 3 of this series on Linear Regression I will go into more detail about the Model and Cost function. Including several graphs that will hopefully give insight into the their nature and serve as a reference for developing algorithms in the next post.



Dr Donald Kinghorn (HPC and Scientific Computing)

Machine Learning and Data Science: Linear Regression Part 2

Written on June 2, 2017 by Dr Donald Kinghorn

In Part 2 of this series on Linear Regression I will pull a data-set of house sale prices and "features" from Kaggle and explore the data in a Jupyter notebook with pandas and seaborn. We will extract a good subset of data to use for our example analysis of the linear regression algorithms.



Dr Donald Kinghorn (HPC and Scientific Computing)

Machine Learning and Data Science: Linear Regression Part 1

Written on May 26, 2017 by Dr Donald Kinghorn

Linear regression could possibly be considered the "Hello World" problem of Machine Learning. It's implementation touches on many of the fundamental ideas and problems in this field. I'll give you some guidance for understanding and implementation of this fundamental idea.



Dr Donald Kinghorn (HPC and Scientific Computing)

Machine Learning and Data Science: Introduction

Written on April 28, 2017 by Dr Donald Kinghorn

This is the start of a series of posts on Machine Learning and Data Science. I'll be exploring the algorithms and tools of Machine Learning and Data Science. It will be tutorials, guides, how-to, reviews and "real world" application. The post will be done using Juypter notebooks and the notebooks will be available on GitHub.



Dr Donald Kinghorn (HPC and Scientific Computing)

Docker and NVIDIA-docker on your workstation: Integration with your Desktop

Written on April 26, 2017 by Dr Donald Kinghorn

I've been doing this series of posts about setting up Docker for your desktop system, so why not literally add containers to your desktop! The way we have Docker configured, containers are the same as other applications you run. In this post I'll show you how to add icons and menu items to launch containers.



Dr Donald Kinghorn (HPC and Scientific Computing)

TitanXp vs GTX1080Ti for Machine Learning

Written on April 14, 2017 by Dr Donald Kinghorn

NVIDIA has released the Titan Xp which is an update to the Titan X Pascal (they both use the Pascal GPU core). They also recently released the GTX1080Ti which proved to be every bit as good at the Titan X Pascal but at a much lower price. The new Titan Xp does offer better performance and is currently their fastest GeForce card. How much faster? I decided to find out by running a large Deep Learning image classification job to see how it performs for GPU accelerated Machine Learning.


Posted in Hardware | 3 Comments

Dr Donald Kinghorn (HPC and Scientific Computing)

Docker and Nvidia-Docker on your workstation: Common Docker Commands Tutorial

Written on April 7, 2017 by Dr Donald Kinghorn

Docker can be complex but for use on single-user-workstation you can get a lot done with just a few commands. This post will go through some commands to manage your images and containers. We will also go through the process of building a docker image for CUDA development that includes OpenGl support.



Dr Donald Kinghorn (HPC and Scientific Computing)

How to Install Anaconda Python and First Steps for Linux and Windows

Written on March 28, 2017 by Dr Donald Kinghorn

A few weeks ago I wrote a blog post titled Should You Learn to Program with Python. If you read that and decided the answer is yes then this post is for you.



Dr Donald Kinghorn (HPC and Scientific Computing)

Docker and NVIDIA-docker on your workstation: Using Graphical Applications

Written on March 21, 2017 by Dr Donald Kinghorn

You can use graphical application with Docker and NVIDIA-Docker by attaching your X-Window server socket to a container. And, it can be done in a relatively safe and secure way. I will take advantage of the Docker security and usability enhancements from the configuration with User-Namespaces that we setup in the previous post and show you how to run a CUDA application with OpenGL output support.


Posted in Software | 0 Comments

Dr Donald Kinghorn (HPC and Scientific Computing)

NVIDIA GTX 1080Ti Performance for Machine Learning -- as Good as TitanX?

Written on March 14, 2017 by Dr Donald Kinghorn

How good is the NVIDIA GTX 1080Ti for CUDA accelerated Machine Learning workloads? About the same as the TitanX! I ran a Deep Neural Network training calculation on a million image dataset using both the new GTX 1080Ti and a Titan X Pascal GPU and got very similar runtimes.


Posted in Hardware | 0 Comments

Dr Donald Kinghorn (HPC and Scientific Computing)

Docker and NVIDIA-docker on your workstation: Setup User Namespaces

Written on March 10, 2017 by Dr Donald Kinghorn

In this third post on Docker and Nvidia-Docker we will configure "kernel user namespaces" for use with Docker. This will increase the security and usability of Docker on your desktop. This is a relatively new feature in Docker and is a key component for the viability of "Docker on your workstation".


Posted in Software | 1 Comment

Dr Donald Kinghorn (HPC and Scientific Computing)

Should You Learn to Program with Python

Written on March 2, 2017 by Dr Donald Kinghorn

The short answer to that question is, yes. If you want to know why you would want to do that then read on.



Dr Donald Kinghorn (HPC and Scientific Computing)

Docker and NVIDIA-docker on your workstation: Installation

Written on February 24, 2017 by Dr Donald Kinghorn

In this second post on Docker and Nvidia-Docker we will do an install and setup on an Ubuntu 16.04 workstation.


Posted in Software | 0 Comments

Dr Donald Kinghorn (HPC and Scientific Computing)

Docker and NVIDIA-docker on your workstation: Motivation

Written on February 16, 2017 by Dr Donald Kinghorn

Docker containers together with the NVIDIA-docker can provide relief from dependency and configuration difficulties when setting up GPU accelerated machine learning environments on a workstation. In this post I will discuss motivation for considering this.


Posted in Software | 0 Comments

Dr Donald Kinghorn (HPC and Scientific Computing)

NVIDIA Quadro GP100 Tesla P100 power on your desktop

Written on February 5, 2017 by Dr Donald Kinghorn

NVIDIA has released the Quadro GP100 bringing Tesla P100 Pascal performance to your desktop. This new card gives you the compute performance of the NVIDIA Tesla P100 together with Quadro display capability. That means full double precision floating point capability of the P100 and NVLINK for multiple cards.


Posted in Hardware | 1 Comment

Dr. Donald Kinghorn (HPC and Scientific Computing)

PCIe X16 vs X8 for GPUs when running cuDNN and Caffe

Written on January 16, 2017 by Dr. Donald Kinghorn

Does PCIe X16 give better performance than X8 for training models with Caffe when using cuDNN? Yes, but not by much!



Dr Donald Kinghorn (HPC and Scientific Computing)

Kabylake vs Skylake for compute on Linux -- Linpack on Ubuntu 1610

Written on January 3, 2017 by Dr Donald Kinghorn

OK, Intel Core-i7 7th gen Kabylake is out. Of course the first thing I want to do is drop a Core i7 7700K in a new Z270 based motherboard, install Linux and run a Linpack benchmark. You know, GFLOP/s and all that. We installed Ubuntu 1610 with a recent release of Intel MKL and fired up a few Linpack job runs. Read on for the not-so dramatic results.


Posted in Hardware | 0 Comments

Dr Donald Kinghorn (HPC and Scientific Computing)

NVIDIA DIGITS with Caffe - Performance on Pascal multi-GPU

Written on December 23, 2016 by Dr Donald Kinghorn

NVIDIA's Pascal GPU's have twice the computational performance of the last generation. A great use for this compute capability is for training deep neural networks. We have tested NVIDIA DIGITS 4 with Caffe on 1 to 4 Titan X and GTX 1070 cards. Training was for classification of a million image data set from ImageNet. Read on to see how it went.



Dr Donald Kinghorn (HPC and Scientific Computing)

Install Ubuntu 16.04 or 14.04 and CUDA 8 and 7.5 for NVIDIA Pascal GPU

Written on August 29, 2016 by Dr Donald Kinghorn

You got your new wonderful NVIDIA Pascal GPU ... maybe a GTX 1080, 1070, or Titan X(P) ... And, you want to setup a CUDA environment for some dev work or maybe try some "machine learning" code with your new card. What are you going to do? At the time of this writing CUDA 8 is still in RC and the deb and rpm packages have drivers that don't work with Pascal. I'll walk through the tricks you need to do a manual setup of CUDA 7.5 and 8.0 on top of Ubuntu 16.04 or 14.04 that will work with the new Pascal based GPU's



D (HPC and Scientific Computing)

NVIDIA Titan GPUs (3 generations) - CUDA 8 rc performance on Ubuntu 16.04

Written on August 12, 2016 by D

I have a Titan Black, Titan X (Maxwell) and a new Titan X (Pascal) in a system for a quick CUDA performance test. Install is on Ubuntu 16.04 with CUDA 8.0rc. We'll look at nbody from the CUDA samples code and NAMD Molecular Dynamics. It is stunning to see how much the CUDA performance has increased on these wonderful GPU's in just 3 years.



Dr Donald Kinghorn (HPC and Scientific Computing)

Intel Xeon E5 v4 Broadwell Buyers Guide (Parallel Performance)

Written on July 1, 2016 by Dr Donald Kinghorn

Intel's Xeon E5 v4 processors are available and there are lots of them! The changes from the v3 Haswell are mostly small clock changes and increases in core count. You can now get a E5-2699v4 with 22 cores. In a dual socket system that's 44 cores to work with. If the programs you want to run scale well with thread count then that could be a great processor for you. However, if your parallel scaling is not near linear then it may not be the best value. We have a dynamic chart of performance based on Amdahl's Law that may help you decide which processor is best for your uses.



Dr Donald Kinghorn (HPC and Scientific Computing)

NAMD Molecular Dynamics Performance on NVIDIA GTX 1080 and 1070 GPU

Written on June 23, 2016 by Dr Donald Kinghorn

The new NVIDIA GeForce GTX 1080 and GTX 1070 GPU's are out and I've received a lot of questions about NAMD performance. The short answer is -- performance is great! I've got some numbers to back that up below. We've got new Broadwell Xeon and Core-i7 CPU's thrown into the mix too. The new hardware refresh gives a nice step up in performance.



Dr Donald Kinghorn (HPC and Scientific Computing)

GTX 1080 CUDA performance on Linux (Ubuntu 16.04) preliminary results (nbody and NAMD)

Written on May 27, 2016 by Dr Donald Kinghorn

Just got a NVIDIA GTX 1080 for testing. I hacked up an install with Ubuntu 16.04 and CUDA 7.5 along with a beta display driver that works! First run after compiling the cuda samples nbody gave 5816 GFLOP/s! A GTX 980 on the same system does 2572 GFLOP/s. However, it's not all good news ...



Dr. Donald Kinghorn (HPC and Scientific Computing)

Intel Broadwell Xeon E5 2600v4 performance test

Written on May 18, 2016 by Dr. Donald Kinghorn

The Intel Xeon E5 2600 v4 Broadwell processors are finally available. My first Linpack testing with a E5-2687W v4 shows a greater than 35% performance increase over the v3 Haswell version! And, it's the same price as the v3 version! It's significantly better than expected.