Yearly archives: 2021


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.


Affiliation with Rust London Community

The BCS Open Source Specialist Group (OSSG) is excited to affiliate with the Rust London Community and our new affiliation and support page.

The OSSG is a body of IT professionals consisting of more than 1,500 open source specialists from industry and academia. The Rust programming language is a community project with a vibrant open source ecosystem that brings together the performance of C with the memory safety of Java. 

With the affiliation to the Rust London community, the OSSG will support the community by co-organizing events, announcing events for the Rust community in its calendar, providing letters of endorsement, and giving access to facilities and funding on demand. The first jointly organized event will be revolving around “Embedded Rust” in August.

Statement from the Rust London Community

The Rust London Community is pleased to be affiliated with the BCS Open Source Specialist Group. The Rust programming language has the ethos of empowering through collaboration in its DNA. We here at Rust London are excited to open up our community and connect with the OSSG.

The Rust ecosystem keeps growing and maturing every day. The positive moves forward are reflected in the 2020 Stack Overflow Survey. Rust was voted the most loved programming language for the 5th year in a row, and this is also reflected in the growth of the programming language’s adoption commercially. Several companies and community projects are starting to use Rust more extensively, from web development to space satellites, embedded devices, and game engines. 

Rust London is a place where these companies and individuals can showcase what they are currently doing, what they aspire to do with the language, and how they will positively contribute to the Rust ecosystem. We have grown the community to over 2100 members on Meetup.com, and have more than 700 followers on Twitter. 

The OSSG and the Rust London Community are both excited about what our friendship and connection will bring.


Space: the final frontier for Open-source technology

Space for the few

Since the 1950s, the exploration of space has been dominated by a relatively small number of well-funded state space agencies, of which NASA is perhaps the most celebrated.

This has resulted in such spectacular achievements as the first moon walk, the numerous Shuttle missions, the exploration of Mars and the outer planets. However, the financial, human and technical risks of such projects has been exceedingly high.

During this early phase of Space exploration, national space agencies and their contractors have invested billions of dollars in developing proprietary technologies, with inevitable concerns about the safeguarding of intellectual property.

Space for the many

However, the Space sector is set to embrace a new model, based around the use of open-source technologies and data. This new spirit of collaboration has been spurred by a demand for more nations to gain access to the booming Space sector, the success of the collaborative International Space Station and the growth of relatively low cost technologies. And then of course, there has been the growing influence of the open-source movement within business, government and academia.

An evolving view is that open-source can provide a way to bring together developers, entrepreneurs, academic researchers and national agencies. Through this process, a global community has evolved, with the aim of reducing costs, sharing expertise and widening access to Space.

Open-source to the rescue

We can already see how this new more open approach to Space exploration has started to bear fruit.

For example, did you know that the NASA ‘Ingenuity’ helicopter which recently flew on the surface of Mars was built using the Linux operating system and off the shelf hardware components?

Diagram of NASA 'Ingenuity' helicoptor

Looking further towards the future, NASA have announced that their planned VIPER Lunar Rover will employ open-source software to navigate the lunar surface.

These two examples show that open-source solutions are taking on a critical role in the burgeoning new Space economy. This bold new age of ‘open space’ has created active roles for entrepreneurs, citizen scientists, universities, corporations and national agencies within this evolving business ecosystem.

Open-source in action

At this point, let’s take a quick tour of the numerous roles that the open-source software, hardware and data have come to play in the collaborative exploration of space. These contributions range in scope from small Javascript frameworks through to running vast supercomputers.

Software solutions

It should come as no surprise that NASA has emerged as major champion a champion of open-source software.  A wealth of projects are publicly accessible and NASA has even published a helpful guide to its code repository.

The European space Agency (ESA) is another active sponsor of open-source software for the Space industry. The purpose of the European Space Software Repository (ESSR) is described as follows:

ESA informational web portal was created to promote reuse of Software – including Open Source Software (OSS) – and to provide all parties involved in the European Space software development (in particular SMEs) with access to results of previous investments.

Note the stated importance of providing SMEs with access to existing open-source repositories, with the clear benefits of lower costs, working code and greater participation by smaller companies.

In addition to the ESSR repository, ESA also maintains a register of open source software, specifically for developing downstream space applications such as GNSS and Satellite Communications.

Frameworks and Libraries

A wide range of open-source programming language libraries and frameworks is available to developers . Here are just a few examples :

  • the Javascript library, spacekit.js, is an open-source JavaScript library for creating interactive 3D space visualizations
  • the Python Satellite Data Analysis Toolkit (pysat) is a package which provides a simple and flexible interface for downloading, loading, cleaning, managing, processing, and analyzing scientific measurements
  • SpacePy provides basic data analysis, modelling and visualization for the space sciences
  • Mars Simulation Project builds computer models that characterize important aspects of establishing human settlements on Mars.

Data

There is a vast amount of open-access data which relates to Astronomy and Space exploration:

  • NASA maintains an Open Data Catalogue of all data received from its spacecraft projects.
  • Asterank provides data about 600,000 Asteroids, accessible via their API
  • the “unofficial” REST API for Space X provides access to a wide range of data about Space-X missions
  • IBM’s Space Situational Awareness project seeks to use data and Machine Learning to minimise the risk of objects colliding in the increasing crowded Low-Earth-Orbit (LEO) zone.

Hardware

Open source hardware designs have the potential to lower costs and widen access to cutting-edge technology. For example, the EU-funded De-RISC project aims to develop a RISC-V multicore platform and hypervisor for Space and Aeronautical applications.

Computing in Space

These days, Linux runs on most of the world’s supercomputers. But a recent NASA project led to the deployment of significant computing power in space. The Spaceborne project saw the deployment in 2017 of a HP Spaceborne computer to the International Space Station. It was build using COTS hardware and ran the Linux operating system.

The Rise of the Citizen Cosmonaut

So you have decided that you would like to get more involved in the Space sector but you don’t have billions of dollars to spend on your next project?

No worries. Cubesats are small satellites that are launched into low-earth (LEO) orbit. Their relatively affordability has made them made them a firm favourite with both students and entrepreneurs alike. Indeed, a number of early projects such as CubeSat started life as crowd-funding initiatives on Kickstarter

Cubesat technology is now big business, with conferences, workshops, formal standards, and a thriving marketplace for Cubesat technology.

If your annual Space budget is limited to $100 or less, there are still opportunities to get involved at a more modest level.

Check out initiatives such as OpenLuna or the hugely ambitious Humanity for Space.

If you are fascinated by rocketry but have not yet received an invitation to dine with Elon Musk, then Copenhagen Suborbitals might be more in your league. It claims to be the world’s only manned amateur space programme, building and testing their own rockets.

Whatever level of involvement you are seeking, all open source projects are actively looking for volunteers to provide expertise or donate cash, or else you might choose to back a Kickstarter project.

Conclusion

We are just at the start of a revolution in Space exploration. Open-source hardware, software and data will help to lower the barriers to entry and make Space more accessible to a broad range of players. Expect new projects to embrace emerging technologies such as AI, Robotics and Blockchain applications.

Who knows, perhaps the Starship Enterprise of 100 years hence may be a collaborative venture between all nations of planet Earth and built using exclusively open-source technologies.

To learn more about Open Source in Space, join our free evening meeting on Thursday 20 May. Details here.

All images Copyright (C) NASA


Grant-funded Competition for Development of the ‘Digital Security by Design’ Software Ecosystem

Robin Kennedy, Knowledge Transfer Manager – Cyber Security, KTN

Innovate UK currently have a grant-funding competition open for one more week which may be of particular interest to the open-source community. It’s part of the Digital Security by Design (DSbD) challenge which is investing in projects that help the UK digital computing infrastructure to become more secure.

Development of the ‘Digital Security by Design’ Software Ecosystem

An opportunity for SME stakeholders from across the software development spectrum to explore and investigate requirements, dependencies, and a range of potential complexities associated with the adoption of the Digital Security by Design technologies.

Full competition details are here – the Dates tab includes a link to the recording of the briefing event from late November.

The competition headlines are

  • Only open to applications from UK registered SMEs
  • Fast-Start Short-Term Projects – six months of maximum project length
  • Total Eligible Costs per project : £40,000 – £80,000
  • Closing Date NEXT WEEK – Wednesday 13th January 11:00am
  • Total funding available £1.5 million – will be paid de minimus (i.e. 100% funded)

More background on the Digital Security by Design (DSbD) challenge is here www.dsbd.tech and on Twitter @DSbDTech