miroesli / svdarm

Optimized Singular Value Decomposition (SVD) on an ARM machine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SVDARM

A Seng440 project on Singular Value Decomposition (SVD) and optimizing its performance on an arm machine.

Presentation

Requirements

  • Packages
    • qemu
    • qemu-kvm
    • qemu-system-arm
    • libvirt-clients
    • libvirt-daemon-system
    • bridge-utils
  • virt-manager
    • arch: arm
    • machine type: virt-2.11
    • Fedora 29
    • 2GB Ram
    • 1 CPU
  • gcc compiler
  • neon intrinsics header file arm_neon.h (included in arm virtual machine)
  • Disk image: Fedora-Minimal-armhfp-29-1.2-sda.qcow2
  • Linux Kernel: vmlinuz-4.18.16-300.fc29.armv7hl
  • Root file system: initramfs-4.18.16-300.fc29.armv7hl.img

Installation

To download the optional disk, kernel, and root file system for the virtual machine visit the UVic seng repo using the university vpn.

Create a VM in virt-manager using the settings specified in the requirements section.

Add the following kernel arguments:

console=ttyAMA0
rw
root=LABEL=_/
rootwait
ipv6.disable=1

Compilation & Execution

Run make in the root directory to compile the files and generate the a.out executable.

make

Run the executable.

./a.out

Documentation

To see the documentation go to the docs folder.

The implementation is based on a set of slides provided by the professor in the docs folder.

Authors

About

Optimized Singular Value Decomposition (SVD) on an ARM machine


Languages

Language:C 99.0%Language:Python 0.9%Language:Makefile 0.1%