Uncategorized


Breaking the AI sound barrier with Doctor Syn

At the heart of every new technology, we find it a challenge to get more from less, to optimize. This has proven even more true in the emerging technologies AI and Machine Learning, where the demand for efficiency and optimization is driven not just by a need for high-performance systems, but for squeezing every drop of available computing power out of smaller, more limited devices at the edge.

Despite the demand, many of the core “optimized” libraries upon which AI applications are based were written many years ago, and are not designed to be able to take advantage of modern computer hardware and compiler technology. This has created an AI “sound barrier” that has yet to be broken in which AI code is limited to a certain performance.

In our upcoming talk at the next BCS meeting (16th December), we discuss our new library Doctor Syn, which creates optimizations of arbitrary math functions, by fully advantaging SIMD, multi-threading, and auto-vectorization. We achieve 30x or more speedups over traditional libraries in C, C++, Rust, and FORTRAN, without making the code platform or language-specific.

The AI Sound Barrier

While great effort has been expended in key function optimization, current techniques are unable to efficiently utilize modern compiler technology in order to take advantage of all of the opportunities for parallelism that are available. This leads to the situation in which users are forced to make unfavorable trade-offs between accuracy and speed, with no implementation that is both fast and accurate.

The result is a compromise that has been the status quo for several decades now and, ultimately, there have been very few improvements to math libraries since apart from hand-written assembler versions of older functions. This has created the eponymous AI “sound barrier” of this blog post that has yet to be broken.

Breaking the AI Sound Barrier

The problems that underlie the AI sound barrier run deep. Existing functions struggle to leverage available modern technologies properly because of shared or static libraries, branches, or lookup tables, and, in many cases, fundamental incompatibility. Doctor Syn solves these problems, not by iterating on existing technology, but by leveraging a fundamental rethink of function optimization that utilizes a generic form of optimal polynomial function approximation. This polynomial approximation is in a form that guarantees the technologies of SIMD, multi-threading, and auto-vectorization can be maximally exploited.

Doctor Syn is a technology that is platform and language agnostic, and, both inside the realm of AI and out, can be generically applied to any function with a well-defined domain.

You can hear more about our Doctor Syn by attending the upcoming talk on 16th December, read more about the technology in our blog here, or get in contact with the authors (Embecosm and Atomic Increment) at william.jones@embecosm.com or andy@atomicincrement.com.


OpenUK Review of the Year

Our sibling organization, OpenUK, represents the interests of the UK open source industry.  As 2020 draws to a close we invited its CEO, Amanda Brock, to reflect and celebrate its work, developing UK leadership in Open Technology, during her first full year at the helm.

What a year OpenUK has had.  The second half of the year has been a busy 6 months with the Awards, our Kids Competition, a number of Legal and Policy activities and the launch of our Supporter model.

The First Edition of the OpenUK Awards sponsored by the law firm Bristows, was celebrated on 20 October, with almost 150 attendees, receiving a Good box. Described as the best event of 2020 by many of the attendees and with a ‘Wow…just wow” from keynote, Jono Baon, its interactive and hybrid format, is something OpenUK will be doing more of.

Guests were able to table hop and rub shoulders with old friends as they celebrated our winners:

  • Open Source Software – Hospital Run
  • Open Hardware – LowRisc Foundaton
  • Open Data – National Library of Wales
  • Finance and Fintech sponsored by FINOS – Parity.io
  • Young Person – Josh Lowe
  • Individual – Liz Rice

A heartfelt congratulations to all of our Awards winners who each received a trophy created by Garner Osborne.

We were also able to share their prizes with our Kids Competition sponsored by Red Hat. The winners were Altrincham Grammmar School for Girls, in the North of England, Durlston College in the South of England, Rathmore Grammar School in Northern Ireland and Scottish and National Winner Morrison’s Academy.

The Awards were co-hosted by Double Grammy Award winning singer Imogen Heap who added a touch of glamour to the evening as she recognised the contribution of the open source communities to her MiMU glove project and spent some time with the kids from each of the winning schools.

This hasn’t just been a time for OpenUK to give out Awards, but also to receive one, as the OpenUK Kids Competition and Digital Kids Camp is a Phase two winner of the GNOME Community Challenge. An incredible achievement to be one of the final 5 participants in this global challenge, from an initial pool of 149 entries. Not only have we received this accolade, but Red Hat have committed sponsorship for year two of both the Competition and Kids Course and we will share more information on these in January.

The Awards were also a great opportunity to launch our Supporter Model, allowing individuals to support funding OpenUK and to benefit from a number of opportunities including Supporter events and discounts, but most importantly the ability to stand for and vote in the OpenUK Board elections. The first election will take place in Autumn 2021. Half the Board seats will be available for election and anyone who has been a Supporter, paying their monthly subscription for 6 months will be able to vote. More information at our website.

We are waiting for the Supreme Court of the US Decision in Google v Oracle, where OpenUK joined with the Python Foundation, Tidelift and others in an amicus brief explaining the risk of copyright in API’s to open source and have only just completed a response to the National Data Strategy Consultation in the UK. As our final Brexit looms fast, these and other global activities are of great significance to the UK’s Open Technology Communities and CEO, Amanda Brock has given a number of keynotes and written extensively on this and GaiaX. In joining Gaia X as a Day One Member, OpenUK was described as the UK’s lifeline and will be leading the way for UK corporate and public sector involvement. You can read a couple of different views on this in  this article and this article in Computer Weekly

And listen to Amanda discussing Brexit, Global Shift and open technologies in a number of places including: YouTube.

A busy year, but even more to come in 2021. If you are interested in any of our activities or in getting more involved, please contact hello@openuk.uk, follow us on twitter @openuk_uk or LinkedIn

We wish you all an enjoyable festive break and health, wealth and happiness in 2021


Adding an Instruction to the GNU Assembler

Binutils is a huge piece of code and new users can often feel lost and out of their depth when navigating it alone. To help ease the shock, in this post we’ll look at the very simplest step of adding a new basic instruction to an already defined extension and how to add a corresponding GNU Assembler (GAS) test.

While the examples and files given are all RISC-V specific, the information is transferable to other architecture ports, however tables and structures may differ. More information can be found through the binutils project page.

(more…)

FPGA vendor Lattice acknowledges value of open source community

Many open-source projects target existing, commercial hardware without official support from the hardware vendor. Some of the most famous examples include Linux and the GCC compiler; which all started as third party projects.

These days both of these projects see significant support from large hardware companies and are used as the official tooling for many widely sold products. Both now see significant first-party contributions from hardware vendors.

Over the last three years, I have been part of the community developing open source tooling for field-programmable gate arrays (FPGAs). These are programmable logic chips with great potential for “post Moore’s law” reconfigurable computing with many promising applications from consumer devices to datacentres.

In general, FPGA companies have not published the low-level details of the devices – unlike CPUs, where the instruction set is almost always public. The expectation is that everyone uses the closed-source vendor-specific toolchain provided.

As a result, to develop a complete open-source flow from design to device programming for most FPGAs, the low-level “bitstream” details must be documented by creating a large number of designs using the vendor-provided tools and examining the output. Claire Wolf did this for the Lattice iCE40 FPGAs five years ago in Project Icestorm. Subsequently, I created open-source documentation for their larger ECP5 FPGAs.

In both cases, combined with the low cost and simplicity of these Lattice parts, these projects have led to popular open-source flows for both devices. From this has sprung a number of open source development boards such as the myStorm BlackIce, icebreaker and ULX3S.

Vendors are now acknowledging the importance of open source

Whilst downloading a newly released Lattice SDK, I found there was a new clause in the license agreement prohibiting this bitstream documentation. Fortunately, this SDK doesn’t directly affect any of the currently supported devices, but it would have become problematic if all their tools sport this license in the future:

e. Licensee shall not distribute, copy, transfer, lend, incorporate, modify, use or sublicense the Software or any Modules for any purpose except as expressly provided herein or as otherwise permitted under relevant law, or in advance by Lattice in writing. In particular, no right is granted hereunder … or (3) for reverse engineering a bit stream format or other signaling protocol of any Lattice Semiconductor Corporation programmable logic device.

Thanks to lobbying from the community, it is great to see that Lattice has shown commitment to open source by promptly removing the clause after being contacted about it, going as far as to publish a message of appreciation for the open-source community on Twitter:

Thanks for pointing out a new bitstream usage restriction in the Lattice Propel license. It is not our intent to hinder open source tools. See https://bit.ly/3eUM3OD re an updated license. We are excited with the open source community’s FPGA achievements and their potential.

https://twitter.com/latticesemi/status/1269115302140231682

This is a risk that Lattice has taken, but it is one that resonates well with the open-source toolchain developers and will hopefully yield good results for them in the future. It also shows the power of a strong open source community to achieve good results from companies and the growing awareness for the open source.

I hope that as time progresses we see more support for open source tools from FPGA vendors, perhaps even reaching a similar point to established open -source software tooling.

David Shah is a self-employed developer working on nextpnr, the open source FPGA place-and-route tool. His previous work also includes Project Trellis, open source bitstream documentation for the Lattice ECP5 FPGAs.


Inaugural London RISC-V Meetup – July 2019

At this evening meeting in London on Monday 22 July we have three talks with speakers looking at open source in the RISC-V Ecosystems. This is our fifth meeting since 2014 on the subject of RISC-V, but the first to be held jointly with the RISC-V Foundation as part of their global meetup program

This is a joint meeting with the UK Open Source Hardware User Group.

Full details, including how to register are on the events page.


What’s New in Cryptography & Security – July 2019

At this evening meeting in London on Thursday 18 July we have three talks with speakers looking at what’s new in cryptography and security. We last looked at this topic in April 2015, and in the intervening time the maker movement has evolved often, but not always, for the better.

This is a joint meeting with the UK Open Source Hardware User Group.

Christopher Wade of Pen Test Partners will present an analysis of common weaknesses in IOT devices.

Glyn Wintle, CTO at dxwcyber, will explain why you should choose Open Source crypto.

Alec Muffett of the Open Rights Group and Deliveroo will deliver a talk on why and how you should start using Onion Networking.

Full details, including how to register are on the events page.


Women in Open Source – May 2019

At this evening meeting in London on Thursday 16 May we’ll be welcoming three women, all of whom are pursuing a career in open source.  This is a joint meeting with BCS Women and the UK Open Source Hardware User Group.

Rain Ashford of Goldsmiths University will talk about Prototyping wearables with open source

Pietra F T Madio, a sixth form student at Brockenhurst College will talk about Starting out in open source

Prof Cornelia Boldyreff of the University of Greenwich, past Chair of the BCS OSSG and BCS Council member will talk about A more inclusive way of looking at open source projects.

For full details, including how to register are on the events page.