SIMD Bit Twiddling Hacks

The Bit Twiddling Hacks website collects an array of useful code fragments that implement some very specific computations very efficiently. Here we collect references to some handy code fragments for SIMD based computation.

Open Position for Post-Doctoral Researcher on transprecise scheduling of machine learning tasks in edge and IoT environments

We are currently seeking to appoint an exceptional candidate to the post of Research Fellow.

The post holder will perform research on deployment of machine-learned models for health analytics on distributed IoT/edge/cloud systems using transprecise computing and contribute to the research project “Sustainable Wearable Edge InTelligence (SWEET)”.

The successful candidate must have, and your application should clearly demonstrate that you meet the following criteria:

  • Normally have, or be about to obtain, a relevant PhD. Relevant areas include high-performance computing, middleware and computing systems.
  • Recent relevant research experience to include:
    • Undertaking research in the area of high-performance / distributed / parallel computing or middleware
    • A proven track record of using experimental models to carry out analyses, critical evaluations, and interpretations of experimental data as relevant to the research project
    • Working effectively as part of a research team in the development and promotion of the research theme.
    • Strong publication record commensurate with stage of career.

Please note the above are not an exhaustive list. For further information about the role including the essential and desirable criteria please check the recruitment web page.

This post is available on a fixed term contract for 33 months.

PhD Scholarship on Sustainable Wearable Edge InTelligence

We are seeking to recruit a an excellent PhD candidate on the project “SWEET: Hardware and Software for Sustainable Wearable Edge InTelligence”, seeking to optimise performance and energy efficiency of machine learning inference in response to time-varying conditions.

Interested applicants can apply here:

Sustainable Wearable EdgE inTelligence (SWEET)

The SWEET project will investigate the efficient deployment and sustainability issues of wearable sensors in particular for health analytics. Real-time remote monitoring of physiological indicators can support early detection and intervention in heart diseases and save lives. These services however require wearable technologies with strong predictive abilities, fast networks and fast servers to extract insights from the collected data. Unfortunately, these technology components are often inaccessible to hundreds of millions of people, specifically, people who live in areas with limited broadband connectivity and limited means to invest in local computing and communication infrastructure.

The project will focus on three components (i) energy-efficient wearable hardware accelerators using custom instruction set acceleration, (ii) distributed scheduling and machine learning model serving to account for performance variability of the systems and networks, (iii) technologies for efficient and portable deployment of web services and approximate key caching.

The project will support one PhD student and one post-doctoral researcher in our group.

The project is a collaboration between Deepu John (University College Dublin), Dimitrios S. Nikolopoulos (Virginia Tech), Bo Ji (Virginia Tech) and ourselves in DIPSA (Queen’s University Belfast), and is funded through the tripartite US-Ireland funding scheme.

We graciously acknowledge the support by the Department for the Economy, NI (contracts to be finalised).

Three PhD Positions in Data Analytics – RELAX Doctoral Network

We have 3 recruitment opportunities in a Marie Curie Doctoral Training Network on data analytics. These are PhD opportunities with a research assistant contract:

(1) Application-Aware Relaxed Synchronisation for Distributed Graph Processing, (offered)
(2) Interactive and intelligent exploration of big complex data, (offered) and
(3) Efficient and Responsible Analytics for Urban Mobility and Allied Applications (offered).

Application Deadlines
7 May 2023

RELAX Doctoral Network
The RELAX Doctoral Network brings together 5 cross-disciplinary research groups working across data science, data management, distributed computing and computing systems to pursue a fundamentally new approach to this problem by leveraging the semantics or correctness conditions of applications, with the goal of enhancing scalability, response times, and availability. The Doctoral Network provides a bespoke technical and non-technical training programme and fosters cross-disciplinary and third-party collaborations.

Funding Information
This project is funded by the Engineering and Physical Sciences Research Council grant number EP/X029174/1.

To be eligible for consideration for a RELAX Doctoral Candidate position (covering tuition fees and a basic salary with pension of approx. £33,001 per annum), a candidate must satisfy all the eligibility criteria based on transnational mobility and academic qualifications. The Studentship is open to all nationalities.

Applicants MUST be doctoral candidates, i.e. not already in possession of a doctoral degree at the date of the recruitment (understood as the recruitment call deadline) and undertake transnational mobility (see mobility rule below). Researchers who have successfully defended their doctoral thesis but who have not yet formally been awarded the doctoral degree will not be considered eligible.

Mobility Rule
Researchers must not have resided or carried out their main activity (work, studies, etc.) in the United Kingdom for more than 12 months in the 36 months immediately before their date of recruitment. Compulsory national service, short stays such as holidays, and time spent as part of a procedure for obtaining refugee status under the Geneva Convention are not taken into account.

Academic Requirements
The minimum academic requirement for admission is normally an Upper Second Class Honours degree from a UK or ROI Higher Education provider in a relevant discipline, or an equivalent qualification acceptable to the University.

More Information
Applicants may additionally consider applying to positions with the partner universities of the network:

ROMA: Run-Time Object Detection To Maximize Real-Time Accuracy

This is a follow-up work on TOD, which selects one of multiple deep neural networks (DNNs) to perform real-time video analytics (object detection) on low-end devices, e.g., on the camera itself. TOD uses the median object size to determine which one out of 4 YOLO DNNs will meet the real-time requirement best, with respect to object size and speed of the objects. TOD requires specific knowledge of the device to select appropriate thresholds on the median object sizes, and needs to be retuned for each computing device.

ROMA removes the limitation that TOD imposes by performing a more detailed analysis of the image content. In particular, ROMA separately estimates the impact of the selected DNN on object size and on object speed. Its formulation is sufficiently flexible to adapt to changes in the computational power of the device such that it does not need to be retrained when migrating across hardware. Moreover, this way, ROMA can adapt to runtime changes in computational power, which may arise from power management features on the device, or from other workloads which share the device. ROMA does however have hyper-parameters that are dependent on the YOLO DNNs.

ROMA will be presented at the 2023 IEEE/CVF Winter Conference on Applications of Computer Vision (WACV).

You can read the post-print on arXiv.

TOD: Transprecise Object Detection

Real-time video analytics on the edge is challenging as the computationally constrained resources typically cannot analyse video streams at full fidelity and frame rate, which results in loss of accuracy. We propose a Transprecise Object Detector (TOD) which maximises the real-time object detection accuracy on an edge device by selecting an appropriate Deep Neural Network (DNN) on the fly with negligible computational overhead.

TOD makes two key contributions over the state of the art: (1) TOD leverages characteristics of the video stream such as object size and speed of movement to identify networks with high prediction accuracy for the current frames; (2) it selects the best-performing network based on projected accuracy and computational demand using an effective and low-overhead decision mechanism.

Experimental evaluation on a Jetson Nano demonstrates that TOD improves the average object detection precision by 34.7 % over the YOLOv4-tiny-288 model on average over the MOT17Det dataset. In the MOT17-05 test dataset, TOD utilises only 45.1 % of GPU resource and 62.7 % of the GPU board power without losing accuracy, compared to YOLOv4-416 model. We expect that TOD will maximise the application of edge devices to real-time object detection, since TOD maximises real-time object detection accuracy given edge devices according to dynamic input features without increasing inference latency in practice.

TOD was presented at the 5th International Conference on Fog and Edge Computing (ICFEC). Read the paper on arXiv.

Software-Defined Floating-Point Number Formats and Their Application to Graph Processing – ICS’22

DOI: 10.1145/3524059.3532360

This paper proposes software-defined floating-point number formats for graph processing workloads, which can improve performance in irregular workloads by reducing cache misses. Efficient arithmetic on software-defined number formats is challenging, even when based on conversion to wider, hardware-supported formats. We derive efficient conversion schemes that are tuned to the IA64 and AVX512 instruction sets.

We demonstrate that: (i) reduced-precision number formats can be applied to graph processing without loss of accuracy; (ii) conversion of floating-point values is possible
with minimal instructions; (iii) conversions are most efficient when utilizing vectorized instruction sets, specifically on IA64 processors.

Experiments on twelve real-world graph data sets demonstrate that our techniques result in speedups up to 89% for PageRank and Accelerated PageRank, and up to 35% for Single-Source Shortest Paths. The same techniques help to accelerate the integer-based maximal independent set problem by up to 262%.

Graptor Sources Published

Finally got around to this: publishing the Graptor source code. With time passing, the code has changed quite a bit compared to that used in the paper: Graptor: efficient pull and push style vectorized graph processing. The evolution of the code has advantages: it’s faster. There are also disadvantages: not all versions and variations of the code that were experimented with can still be compiled.

The source code can be found here:

There will likely be issues (errors, lack of documentation, …) as this is experimental research code. Drop me a line if you need a hand h {a dot} vandierendonck {an at} qub {another dot} ac {the last dot} uk .