Celebrating 20 Years of Solving the Toughest Software Problems
04 May 2022
Codeplay was created in 2002 in a small Edinburgh office, building software tools for video games developers to create advanced graphics using the emerging features of a new kind of processor: the Graphics Processing Unit (GPU). Andrew Richards and Uwe Dolinsky founded Codeplay with the revolutionary idea that GPUs could be used for all kinds of other tasks, like scientific simulation, but such ideas were way ahead of their time in 2002. How would technology designed for video games help tackle challenges like climate science and nuclear fusion energy?
Like with most pioneers, the path to success evolved many times from the original idea. So, how did Codeplay find itself being recognized by so many of the great global technology companies?
Locating to Scotland
The location of their new company was not an obvious choice for Andrew and Uwe, neither native Scotsmen. They needed to be somewhere with lots of talented software developers, access to funding, and low enough costs that they had time to bring new technologies to market. Edinburgh, Scotland was the ideal choice providing world-class universities, amazing facilities, transport connections and character to start attracting software engineers far beyond the Scottish borders into the beautiful country. With headcount growing, the company employed software developers from Europe, Asia, Australasia and the Americas.
The Original Strategy and Where It Landed
Andrew's first successes before Codeplay were in video games, in particular the hit Pete Sampras Tennis for the Sega Mega Drive/Genesis. This success and experience motivated him to set up his own company, further honing the acquired skills to develop software tools for other game developers. This resulted in the creation of a C++ compiler for developers, first on Sony's PlayStation®2, and then PlayStation®3. These early C++ tools for programming GPUs were revolutionary for video games, and Codeplay's original 'VectorC' compiler even found its way into games consoles.
In the years that followed, Codeplay created other solutions for difficult parallel processing systems, enabling developers to benefit from the growth in computing power. Developments were supported thanks to vital public funding rounds such as EU, Smart Grants and Scottish Enterprise grants. Codeplay created products such as Sieve, to support scheduling of portions of code in parallel processing, and Offload, to easily move complex portions of algorithms to a more appropriate processor. These demonstrated Codeplay's understanding of the challenges and ability to bring solutions for faster software development.
While these point solutions were great, Codeplay quickly realized that defining and embracing standards with many manufacturers was important for technology to gain momentum. Via its involvement in The Khronos Group, Codeplay was rapidly contributing experience and knowledge to support the creation and definition of standards. This ensured Codeplay had a leadership position in any developments and the skills to integrate into new solutions.
Codeplay became the go-to company to enable new processors with software tools. Major technology companies embraced Codeplay to deliver solutions for the most demanding new architectures, ensuring application developers could program in familiar and reliable standards.
Ensuring an extensive open-source ecosystem of libraries and frameworks was the next phase for Codeplay. Software developers were democratizing innovation by creating and releasing open-source libraries for everyone to use, which in turned fuelled the explosion in artificial intelligence (AI) and use of high-performance computing (HPC) systems by scientists. The benefits from these developments are now embraced in every part of our lives, all across the web and in embedded systems. Codeplay was at the heart of accelerating these technologies, working with major global technology companies to offload parts of their algorithms onto special processors for greater performance.
By now Codeplay's solutions and skills cover everything from supercomputers and edge compute devices to autonomous vehicles and IoT devices. The ability to scale from the largest to smallest devices shows the flexibility and programmability achieved by Codeplay products.
Software Open Standards are important and where Codeplay gets involved
It was once stated: work with your competitors and you will achieve more. This captures the sentiment that open standards-based software is so important. Over the last 20 years there have been so many processors with their own software tools, meaning users must invest (or spend lots of time) in transitioning to a proprietary platform. While this may provide a perceived benefit to the processor vendor with a lock-in, the end users are restricted and limited in choice.
Open standards are defined and agreed by many people from multiple industries. This ensures they are fit for purpose and embraced, not just by the end user, but all the other supporting solutions such as debuggers, compilers and libraries. However, choice of supplier is the biggest benefit. The gaming industry achieved this with OpenGL, an open graphics library by Khronos, the PC industry with MS-DOS and Windows, and the smartphone industry with Android. Compute systems are embracing OpenCL™ and SYCL™ as the non-proprietary standards to widen and grow this industry. Safety-critical industries, such as automotive, also stand to benefit from open standards and the ecosystems which grow around them, which provide a lot of benefits for the certification to safety standards.
Codeplay strongly contributes to open standards, and most importantly to SYCL as a C++ programming platform for multiprocessor accelerated systems since this offers an open alternative to proprietary interfaces. Being independent of any major processor company, Codeplay was an appropriate choice to chair this Khronos group since its announcement in 2014 and continues to chair it today.
Champagne Moments in the Last 20 Years
The first big success for Codeplay came in 2005 with a major development for Ageia (afterwards acquired by Nvidia®). The company, with only five employees delivered a solution that allowed C++ developers to offload parts of their application efficiently to a companion processor. The product "Seive" followed providing another solution to a complex problem - to support scheduling of portions of code in parallel processing systems.
The experience highlighted the benefits of accelerating performance-critical parts of an application using specialized high-performance processors, which resulted in Codeplay developing "Offload" in 2009. Game developers for Sony PlayStation 3 benefited from this toolset by achieving more realistic graphics in their games and providing a much better gaming experience.
In 2014, now with many years of experience in accelerating C++ in parallel computing, Codeplay took the lead in an industry-wide standard called SYCL within The Khronos Group (already well known for their industry standards for compute, graphics and audio). Codeplay brought experience from the gaming industry and deep coding knowledge to the group with a mission to enable C++ developers with a programming language and tools for the next generation of accelerated systems. Codeplay remains the chair of SYCL, an impressive achievement for such a popular standard today.
Advance Driver Assistance Solutions (ADAS), a generic term in automotive for supporting a driver with safety and ease of driving features, was embracing new techniques for alerts and decision making. When taking data from cameras and other sensors, interpreting and ultimately making complex decisions in real time, the need for advanced software programming and specialized processors was needed. Renesas immediately realized their R-Car™ products needed to be programmable and maintainable in the coming years, so embraced Codeplay to bring SYCL and OpenCL to their ADAS semiconductors.
In 2018, Codeplay released ComputeCpp, what is now the world's first conformant implementation of SYCL. This was to be the reference point for many developers around the world, and with the release of a free Community Edition of ComputeCpp, thousands of developers took advantage of this implementation to learn, experiment, evaluate and develop products.
In the same year, investment in Codeplay was made by Foresight and included the Foresight Williams Fund, recognizing the huge potential growth of Codeplay into both HPC and automotive markets.
After following the evolution of RISC-V®, a free instruction set processor being used by an increasing number of global semiconductor companies, Codeplay joined forces with NSI-TEXE (a subsidiary of DENSO automotive in Japan) to implement SYCL and OpenCL in their vectorized solution. The project was funded by the Japanese government and also developed with Kyoto Microcomputer Corp (KMC). This implementation enables a parallel or vector implementation of a RISC-V processor to make a high-performance vector processor, especially good for vision processing and AI functions. This implementation by Codeplay has subsequently been embraced by many other market segments needing to quickly bring programmability to their next generation RISC-V systems.
In 2021, Codeplay brought cross-platform programmability to the next level by enabling 2 different US government supercomputers with different accelerators from Nvidia and AMD. Codeplay will bring SYCL to these two systems with a 3rd supercomputer soon to be accelerated by Intel with the same approach. This was a huge endorsement both of Codeplay as a supplier and of the SYCL standard at the heart of the company.
Codeplay in 5 Years
"Software First" is a major trend we are seeing, and it has long been said that software is "eating the world." Many existing and legacy systems are developed and go to market with non-optimal systems implementations and written in proprietary or non-standard. These software assets developed in early solutions will continue to evolve while selecting the latest hardware system to execute them. Software is therefore the starting point when defining and developing the next generation systems and dictates the hardware architecture required to achieve the highest performance. This Software First approach to system design is now becoming unavoidable, an approach that Codeplay is already enabling with its products.
The industry is fast and dynamic today with the global demand for AI and compute systems exceeding most forecasts. Supercomputers are gaining in processing power accelerated by advances in processor architecture, memory and infrastructure, with dedicated accelerators bringing them exceptional capabilities. Many cloud systems for massive organizations are the norm, but they are also evaluating the extensive number of AI processors and even their own solutions, to make our experience faster and more accurate. While automotive has decades of evolution to go, the momentum has started and the Codeplay approach to open standards is being embraced.