Posts - page 2
-
MOOC: Accelerated Deployment and Benchmarking on Bonseyes AI platform

Dr Cano Reyes and I were invited to produce an online course (MOOC) for the BonsAPPs consortium. Off the back of our AccML paper on reproducible workflows for AI, and the AIMDDE project, and our invited keynote in Madrid on the topic, they thought that we would be good advocates to motivate and demonstrate how SMEs can accelerate their AI application development using AI Assets.
Topics touched upon include cookiecutter-style project templating, dataset processing reproducibility, continuous integration and deployment, containerisation, training, benchmarking, cross-framework exporting, and optimization (e.g., via quantisation).
You can find the MOOC here at https://learn.bonsapps.eu/.
-
Robot Burns Infinite

For Burnsā Night 2023, I am pleased to announce
Robot Burns Infinite, the follow-up to 2020ās Robot Burns!Robot Burns Infinite is a website that uses a GPT-3 derived model, trained on 6000 lines of Burns poetry, and will generate new ones on demand. Buy some credits to get started, and as before all proceed go to Samaritans.
Check out the site at robotburnsinfinite.com, with a brief technical write-up here. I used the Flask Python framework for the website, with a SQL database, AWS for hosting, with Cloudflare for DNS resolution and DDoS mitigation.
Robot Burns Infinite was featured in articles on The Scotsman and MSN.
[Read more] -
Misc MLIR errors: for your convenience

The following is a log of some errors Iāve encountered in MLIR, and how I fixed them. Solutions to many of these were found through search engines and various forums (e.g., the LLVM forum), however I am centralising errors for my own reference. I believe that many of these are likely to be common errors for people initially exploring MLIR. Note that at the time of writing, MLIR is changing quickly, and some of these fixes may no longer be relevant. In fact, several of my issues below emerged due to such changes. I may add additional errors here over time.
[Read more] -
PACT Paper: Transfer-Tuning

I was delighted to have our paper āTransfer-Tuning: Reusing Auto-Schedules for Efficient Tensor Program Code Generationā accepted in the PACT 2022 conference in Chicago, where I was first author. You can view the paper on arXiv here, or from ACM.
I presented a 25 minute presentation on the paper in person, as well as a poster. We also submitted an artifact for review, the code for which you can find here on GitHub. Our paper received all 3 artifact evaluation stamps.
In short, transfer-tuning is an approach which allows us to achieve some of the speedups from auto-scheduling systems like Ansor, in a fraction of the search time.
For more details, please check out the full paper!
[Read more] -
Research Visit: FHE+MLIR compilers (Northeastern, Boston, MA)

Iām visiting the NUCAR lab, at Northeastern University, Boston. Iām working on a short project, exploring fully-homomorphic encryption compilers using MLIR. Meeting lots of interesting folk, eating great food, and getting into the Boston frame of mind.
Many thanks to the Scottish Informatics and Computer Science Alliance (SICSA) for providing some of the funding!
-
Invited Keynote: BonsAPPs Matchmaking and Demo Day

Thanks to our success in the AIMDDE project, the BonsAPPs consortium invited Dr Cano Reyes and I as keynotes to their āMatchmaking and Demo Dayā.
We highlighted to the audience (of SMEs and AI talents) the value of using effective community driven tooling for developing AI applications, even as researchers, and highlighted some of the key features of our AccML 2022 paper.
[Read more] -
Productive Reproducible Workflows for DNNs: A Case Study for Industrial Defect Detection

I was delighted to have our paper āProductive Reproducible Workflows for DNNs: A Case Study for Industrial Defect Detectionā accepted in the AccML 2022 workshop at the HiPEAC 2022 conference, where I was first author. You can view the paper on arXiv here. I presented a 20 minute presentation on the paper in-person.
The paper came from our successful completion of the AIMDDE project, where we developed an AI-based solution to industrial defect detection. We were a small team, with one developer (me) and one project lead, thus we had to be as efficient as possible to achieve our goals. I exploited the Bonseyes toolchain and systems such as Docker and high-level domain-specific ML libraries to be highly productive, as well as reproducible. The paper evangelises the value of these workflows for research and SMEs, by using our experience with AIMDDE as a case-study.
For more details, please check out the full paper!
[Read more] -
Bifrost: End-to-End Evaluation and Optimization of Reconfigurable DNN Accelerators

This post gives a brief overview of the paper *āBifrost: End-to-End Evaluation and Optimization of Reconfigurable DNN Acceleratorsā**, which I was 2nd author to Axel Stjerngren. The paper was published at ISPASS 2022, and you can view the paper on IEEE Xplore if youāve got access, or on arXiv for free. I presented a 15 minute presentation on the paper at the conference.
[Read more] -
Penguin eating a Tiger(lake): Fixing high battery usage on GNU/Linux+Intel

I recently got a new laptop, a ThinkPad P14s, as part of a project I undertook at the university. However, despite an advertised 10 hour battery life, I found that it was going from 100% to 0% charge in under an hour. Thatās fine in a work-from-home situation, however Iām hoping as the world gradually opens up, Iām keen to become Mr Worldwide š, so an hour is not going to be enough for me. I eventually figured out a solution, however there was not clear documentation of this online. This post documents what I found, and how I fixed it.
[Read more] -
GPT-3 based Signal bot

In experimenting with the OpenAI API, I developed a little bot for the Signal Messenger app.
[Read more] -
Circuit hacking: AI assisted clock control

As a weekend project, I thought I would try to do something with an old Raspberry Pi 3 I had lying around. However, I have not actually done non-trivial breadboarding since high school, and I wasnāt sure where to start. Luckily I recently got invited to the OpenAI Codex Beta, so I was able to generate a lot of the code automatically!
[Read more] -
Open Source: PyTorch Lightning CIFAR

I released my code for PyTorch Lightning CIFAR on GitHub, free under the MIT License. It is a fork of the classic PyTorch CIFAR codebase from @kuangliu, adding support for the productive research tooling that PyTorch Lightning package brings. I also include accuracies for the models trained using 200 epochs.
[Read more] -
AIMDDE BonsAPPs Project

My research group, Glasgow Intelligent Computing Lab (gicLAB), was awarded a ā¬28k grant as part of the BonsAPPs AI industry challenge. I was one of the writers of the grant, and now am pausing my studies for 2 months to be the technical lead on the project.
The overall goal of the challenge is to produce AI models which can effectively detect defects in manufactured goods (e.g., rolled steel, or textiles), and deploy them in a constrained edge device (e.g., Nvidia AGX Xavier).
[Read more] -
The Device Zoo @ gicLAB

When I joined Dr Jose Cano Reyesā research group at the University of Glasgow in 2019, our focus was on the performance of deep learning workloads on heterogeneous edge devices.
One of my responsibilities was to set up a ādevice zooā of edge devices. We had a range of devices, from Raspberry Pi 3s to NVIDIA Jetson Nanos, and I had to find a way to manage them all.
3D printed cases were a common solution, but I wanted something more flexible and modular. I decided to use LEGO bricks to create a stack of devices that could be easily rearranged and expanded as needed.
I purchased a large set of LEGO bricks 2nd hand from BrickLink.
[Read more] -
A chat with GPT-3
I recently got access to the OpenAI API Beta, and with that a trained GPT-3 model. Itās a very flexible NLP model, which can do things like question answering, translation, text summarising, and more. One thing thatās drawn me in though is its chatbot capabilities.
It is really quite unlike any system Iāve communicated with before, it can have countless different personalities depending on what topic of conversation you have with it. Iāve only had maybe 5 or 6 conversations so far, you can see a couple of them here. Iām posting this one in my blog, because it gave me permission to, plus it went off in an interesting direction.
[Read more] -
AI Generated Music Video: SENGA 'Bloodshot'

I recently had the opportunity to help produce a music video for the upcoming album from SENGA AKA Sean Cosgrove.
You can read about the track, and the album in this piece in DJ Mag.
The video is AI generated, and I thought Iād take this opportunity to give a brief overview of how I put it together.
[Read more] -
SECDA: Efficient Hardware/Software Co-Design of FPGA-based DNN Accelerators for Edge Inference

I was fortunate to recently work on a paper on hardware design, led by the talented Jude Haris. SECDA was published in October 2021, in the IEEE 33rd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD) conference. It was hosted in sunny Belo Horizonte, Brazil; but unfortunately we had to attend remotely due to ongoing international travel difficulties.
The work discusses a co-design methodology we developed for efficiently producing FPGA accelerators. You can read the full paper here on arXiv, the following post just gives a brief accessible summary.
[Read more] -
Cross-post - Robot Burns: Using HPC to Create Modern-Day Poems Inspired by 18th Century Master

My work on Robot Burns (my GPT-2 generated poetry pamphlet, in the style of Robert Burns - available for sale at robotburns.com š) was recently featured in an article on the SC21 (International Conference for High Performance Computing, Networking, Storage, and Analysis) blog.
The blog was written by Cristin Merritt, and can be read here.
I discuss how low cost casual HPC environments like Google Colab have been a boon to hobbyists and artists.
[Read more] -
Writing practice: a rant on encryption policies
[Read more]I originally wrote this as an email in response to a proposed EU resolution to ban end-to-end encryption on apps like WhatsApp, Signal, and others. The salient points still remain true. I am a dilettante when it comes to the finer points of security and cryptography, however I am always trying to learn more on the topic, challenge my beliefs, and influence policy decisions. If you want to talk to me more about this sort of thing feel free to get in touch.
-
Flashing a Hikey 970 in 2020
I recently had to flash a Hikey 970 from scratch, as I did not get any response from
[Read more]fastboot. However, the official documentation does not appear to have been updated since 2018. Hence, this post documents the steps of how far I got. Unfortunately I was not able to get the whole thing working, but I will update this post if I do. If you found this post, and did get it working, please feel free to contact me so it can be updated. -
Installing perf on a development board (e.g. RPi4)

I recently had a colleague encounter some troubles using
perfon a new Raspberry Pi 4 device.Normally you would install it from a package repository (e.g. using apt, and the package name
linux-tools).However, when youāre on a non-x86 platform, you cannot always rely that there will be packages for your device, and even if there are, they might be broken in subtle and frustrating ways. This was the case for my colleague.
Luckily, I had encountered a similar issue on an ODROID device, and had kept my notes. Iāve adapted the notes into an email to the colleague, and thought I might as well post it here.
[Read more] -
Robot Burns

Leveraging some recent advances in natural language processing, for Burns Night 2020 I recently generated poems in the style of Scotlandās National Bard.
I collaborated with Scottish illustrator, Alasdair Currie, who has provided their design magic.
Weāre selling a pamphlet of some of the systemās output at robotburns.com, for Ā£10+P&P. All proceeds go to Samaritans.
We were featured in newspaper articles, including The Scotsman, Digit News, and The Glasgow Times.
I also had my first appearance on live TV, with a quick segment on EuroNews. With that, I think I focused too much on technical details, and missed the narrative thrust, aspects of communication which I hope to continue working on during my PhD.
Update Robot Burns was featured in a blogpost in SC21 conference website, see more info here!
[Read more] -
Podcast episode: Arm and HPC
As part of my PRACE Summer of HPC, I produced a few podcast episodes, where I spoke with HPC leaders in research and industry.
This episode I was joined by Brent Gorda and Filippo Spiga of Arm Holdings. We discussed the movement of Arm into the HPC market, partly in thanks to research collaborations with PRACE affiliated centre BSC.
Link: PRACE SoHPC Podcast - ARM and HPC ā with Brent Gorda and Filippo Spiga of Arm Holdings
[Read more] -
Building an old version of gcc, a journey of errors and solutions

Hello neighbours. Another dry one today, intended first and foremost for myself before I wrote this post, and secondly for anyone coming after me in a similar boat.
Due to working on a reproducibility study, it was necessary for me to build some old compiler versions, that no longer existed on package repositories.
I encountered a number of build errors during this time, and have documented how I solved them. As a post, it isnāt bringing many insights, and serves as a curation of disparate Stack Overflow and other sources that I used to solve my issues.
[Read more] -
Containerisation for HPC

For my reproducibility work I have recently been introduced to the Singularity containerisation workflow, which has some key differences from Docker, especially regarding the permissions that processes run at.
You can find the post on the SoHPC website.
[Read more] -
Summer of HPC Introduction
Have a summer placement through the Partnership for Advanced Computing in Europe. I will be doing some more posts for them this summer, you can find them here, or https://www.summerofhpc.prace-ri.eu/perry-gibson/
My first post is available here:
https://summerofhpc.prace-ri.eu/perry-gibson/
[Read more] -
Mnemonic
In order for privacy preserving technology to see widespread adoption, it must be accessible.
One of the key problems in making this technology accessible is the question of how to handle identity. In a centralised system, some authority can be in charge of which identifiers are associated with which identities. For example, Google runs Gmail, and keep track of which user owns what username. To create an account you ask them for one, such as
arrakis@gmail.com. They will look up their list of previously registered usernames, and tell you that someone else already has it. Finally, you find an unallocated usernamearrakis1729@gmail.com, which Gmail grants you. From that point forward, if someone wants to contact you they need your username, then send you their message via Google.In decentralised systems however this poses some challenges. A global table of registered usernames is a complex engineering challenge.
[Read more]
subscribe via RSS