Skip to content
forked from miroesli/svdarm

Optimized Singular Value Decomposition (SVD) on an ARM machine

Notifications You must be signed in to change notification settings

tomfisher/svdarm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.0%
  • Other 1.0%