Category: Documentation

Google Testing: Example and CMake Integration

The Google testing environment is frequently used in software engineering projects as a means of ensuring the functionality of your code. It is a framework that highlights the fundamentals of the iterative development work flow with the ability to confirm a set of tests as you are developing, thereby increasing the reliability of your final product and reducing time spent trouble shooting overall. The main tests that the framework allows for is assertions. An assertion simply checks to see if...

More

Graph500 on CUDA

I recently went to ISC16 for their Student Cluster Competition, and one of the challenges was to create our “own implementation of Graph500 to run on a cluster.” If you don’t know about the Student Cluster Competition, they are cluster competitions where student teams work with vendors to create a cluster and optimize high performance scientific applications to be run under 3000 watts of power on real datasets. Graph500 is a rating of supercomputer systems focused on data intensive loads....

More

How to Setup CUDA 7.0 on NVIDIA Jetson TX1 with JetPack – Detailed

The most recent version of NVIDIA JetPack is 2.2., which supports the NVIDIA Jetson TX1 and Jetson TK1. The big news is that the latest version of JetPack 2.2 turns the userspace to 64 bit! In earlier versions of JetPack, the kernel was 64 bit, but the userspace was 32 bit apparently from what a source has told me. Now with the userspace at 64 bit, you’ll have an easier time compiling and running arm64 libraries. Note that we’ll be...

More

How to compile HPL (LINPACK)

This guide will show you how to compile HPL (Linpack) and provide some tips for selecting the best input values for hpl.dat based on my experiences at the student cluster competitions. This benchmark stresses the computers floating point operation capabilities. Although just calculating FLOPs is not reflective of applications typically run on supercomputers, floating point is still important when precise calculations are required. I assume a version of mpi, c/c++/fotran compilers, blas and whatever libraries you need are installed. There...

More

How to use MPI without NFS

You can use MPI without NFS or a shared file system! We had a situation where we couldn’t find the NFS server or client packages for arm64 for Ubuntu 16.04. We had OpenMPI version 1.10.2 installed on 2 nodes without NFS. When you use MPI without NFS, you need to ensure that the same version of MPI is installed by every node. Then, you have to ensure that the same data files, which include the program, hostnames file, and input files,...

More

How to Download Packages and Dependencies from Different Architectures on Ubuntu

Let’s say that I have a computer that I installed Ubuntu 14.04 x86-64 also known as amd64. I want to download a package, but I want to download the package and its dependencies from a different architecture instead of amd64. In this scenario, I want to download a package from arm64 architecture. Enable Another Architecture to Download First, we will add a new architecture to be able to select when installing or downloading any package. Instead of arm64, you can substitute...

More

How to Download Packages and Dependencies Locally on Ubuntu

I want to download a package and all of its dependencies that I would typically use apt-get to install on Ubuntu. How do I download a package and its dependencies locally on Ubuntu? I am using Ubuntu 14.04 and Ubuntu 16.04 for this tutorial. How to Download Ubuntu Packages and Dependencies Locally We require Internet access to download the packages locally. First, we should always update our package sources. sudo apt-get update Afterwards, we should make a directory to store...

More

How to SSH to Another Computer with Ethernet Cable – Local Area Network

Let’s say that we wanted to connect an Ethernet cable from Ethernet port of one computer to Ethernet port of another computer. I want to be able to SSH into the other machine from my computer given that I know the other machine’s password or have an authenticated SSH key. You can also SSH to a series of machines if you have a switch with all the other machines connected to that switch through Ethernet cables. The switch is basically a...

More

How to Set Static IP on Ubuntu

To set the static IP address on Ubuntu, we want to first determine what network interfaces we currently have. These network interfaces represent the Infiniband or Ethernet ports on your computer. You will typically have an interface called eth0 or eth1 that allows you to connect to the Internet. Note, setting the static IP will allow you to connect to the Internet as long as the IP address is valid according to your DHCP server. If you set any static IP...

More

[2016] Recommended Node.js Express MongoDB Bower Gulp Setup

Today is May 20, 2016. I’ve been messing around with Node.js and Express for the web framework, MongoDB for the database, Bower for dependencies, and Gulp for automating tasks. This post will be a guide step-by-step on how to setup Node, Express, Mongo, Bower, and Gulp as of May 2016. I am using a Windows 10 machine for the installation and setup. Commands will be slightly different for Macs and Linux users. We will be making a log in, sign...

More