postgrad student

Hello, my name is Hans-Nikolai Vießmann, and I am a computer scientist. Since 2015, I have been working on my PhD in Robotics and Autonomous Systems as part of a joint degree between the University of Edinburgh and Heriot-Watt University. My research interests include Functional Programming, GPGPUs, and Data Streaming to Accelerators. I am a driven and disciplined young individual who enjoys working on, around, and with computers.

Here are some things about me:

  • I am German
  • I enjoy going to the cinema
  • I love riding my bicycle
  • I love heavy metal
  • I love food
Work Experience
British Geological Survey
InternshipJuly 2014 - October 2014
  • Project: Optimise the BGS Global Geomagnetic Model using Single-Assignment C
    • The BGGM application takes geomagnetic data of the globe and computes a model of it. The application runs on a HPC cluster that has many nodes using MPI. An important computation done by the application is the calculation of an eigensystem. This is computed on the master node after various preprocessing stages have completed. The eigensystem computation uses the QR algorithm with Givens rotations which is inherently sequential. The goal of this project was to optimise that computation by making it run in parallel, utilising the multiple cores available on the master node.
    • This optimisation was achieved using SAC, a functional array programming language with auto-parallelising capabilities.
  • This project lead to a publication in September 2015: "Making FORTRAN Legacy Code More Functional: Using the BGS Geomagnetic Field Modelling System as an Example". The work is available via ACM DOI 10.1145/2897336.2897348
InternshipJune 2013 - July 2013
  • Service Support
    • Google Apps Administration for Enterprise customers (Apps100 Certified)
    • AWS Administration including instance management
    • General query resolution
TechFix LTD
Unpaid work as a PC EngineerSeptember 2011 - present
  • Responsibilities
    • Consultation regarding technical matters
    • Administration of the web server
    • Assisted with repairs
  • Skills Learned
    • GNU/Linux and associated applications
    • Networking and the internet
Web Development

I have created several websites, or have helped create websites. Most were personal in nature, or as part of a project. I have also helped create a web page for a business as well (TECHFIX). I am a capable HTML, CSS, JavaScript, PHP, and Ruby developer.

Teamwork & Communication

I have been part of many group based projects. Some of these projects were think-tank style operations with no resulting final product. Others included extensive design and prototyping phases with several amendments and alterations to a final product.

Programming & Software Engineering

I am proficient in several programming languages including C, C++, Java, PHP, bash/zsh, etc. I am very familiar with various data-strucutres and patterns. Aditionally I have been specialising in multi-threaded development and associated aspects.

Network Design & Engineering

Good understanding of major networking protocols and their basic functionality, such as TCP, UDP, IP, SSH, DNS, etc.. I have used or use these and more protocols on a daily basis.

Time Management & Organization

I have a strict sense of duty and find myself obligated to completing an assignment to the best of my capabilities within the times given. I try my best to be as organized as possible.

Advanced IT/Server Usage

I have a good deal of experience in using not just Windows but a variety of *nix based operating systems as well. I am very good with the *nix terminal and its associated programs. I run several servers each with different functions (backup, web-hosting, VPN, etc.).

Heriot-Watt University and University of Edinburgh, Edinburgh, UK
MRes & Ph.D, Robotics and Autonomous SystemsSeptember 2014 - present
  • Material
    • Robotics Systems and Engineering
    • Artificial Intelligence
    • Software Engineering & Development
    • Project Management
    • Mathematics
  • Extracurricular Activities
    • HW Computer Society
    • HW Anime Society
  • Masters Thesis
    • An Investigation into the Performance Portability between Single-Assignment C and OpenCL
      Abstract: Parallel computing device like multi-core processors, graphics processing units (GPUs), and many-core architectures are becoming ever more prevalent in accelerating compute intensive applications. As part of a heterogeneous computing system, they provide the potential to improve the performance of applications by targeting specific computations. Given the benefits, the programming model of these devices are often very different from that of conventional CPUs, posing a challenge to develop or port an application to the device. Programming frameworks, like OpenCL, exist which seek to solve this problem by providing a consistent programming interface across computing devices. This has substantially improved the portability of applications. Given this though, consistent performance across different devices is not a given. In some instances developers still need to tweak their applications in order to achieve reasonable performance. Possible solutions exist to this problem, such as Single-Assignment C (SaC), which through the use of compiler technologies can automatically optimise an application for a particular compute device. It is unclear though whether SaC can bridge the gap in performance portability. This is the purpose of this dissertation, to investigate the performance portability between OpenCL and SaC.
  • Publications
    • Hans-Nikolai Vießmann, Sven-Bodo Scholz, Artjoms Šinkarovs, Brian Bainbridge, Brian Hamilton, and Simon Flower. 2015. Making FORTRAN Legacy Code More Functional: Using the BGS Geomagnetic Field Modelling System as an Example. In Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming Languages (IFL '15). ACM, New York, NY, USA, Article 11, 13 pages. DOI: 10.1145/2897336.2897348
Heriot-Watt University, Edinburgh, UK
B.Sc. Hon., Computer ScienceSeptember 2010 - July 2014
  • Material
    • Java, C, and Web Programming
    • Software Engineering & Development
    • Artificial Intelligence
    • Computer Networks
    • Database Management
    • Project Management
    • Mathematics
  • Extracurricular Activities
    • HW Computer Society
    • HW Anime Society
  • Dissertation
    • Analysis of Wi-Fi P2P networking in Android
International School of Basel, Basel, CH
Diploma, International BaccalaureateSeptember 2008 - May 2010
  • Higher Level
    • Mathematics HL
    • Physics HL
    • Economics HL
  • Standard Level
    • World Politics SL
    • English SL
    • German B SL
  • Additional
    • Theory of Knowledge
    • Extended Essay (Topic: Botnets)
  • Extracurricular Activities
    • Drama Society, worked as the lighting and sound technician
    • Sports Photographer for sports tournaments
    • Young Enterprise Switzerland, established a company