Software language accelerates developments in AI, medicine and robotics
The fight against the Coronavirus does not only take place in medical laboratories, but also in computing. Handling the huge amounts of data for vaccine development requires advanced tools: 'Julia', a relatively new software language, has surged in popularity. It delivers comparable speed and functionality to programming in C while also allowing scientific and numerical computing.
As a manufacturer of advanced scientific test and measurement equipment, Spectrum Instrumentation has announced that it has created a Software Development Kit (SDK) for programming its full range of over 200 different digitisers, generators and digital I/O products using Julia!
A key feature of Julia is that it has been specifically designed for high performance applications that require fast processing of data, like machine learning and scientific computing. For example, libraries include optimised source C and Fortran code for linear algebra, random number generation, signal processing and even string processing.
Furthermore, Julia offers parallelism. Call the desired script with a given number of cores and parallelise directly from a command line. Additionally, it is possible to send tasks to different threads, or run loops in parallel, directly from code. The result is a language that offers similar speeds to C, while allowing coding that is more comparable to Python or MATLAB. Companies around the world use Julia in a wide range of applications. Some examples can be found here.
Julia and Spectrum Instrumentation make a suitable fit as the Spectrum products are well suited for acquiring or generating the fast electronic signals found in AI applications or robotics. The company offers the most extensive range of digitisers for the acquisition of analogue or digital signals, in the DC to GHz frequency range, with high precision and dynamic range.
The digitisers are complimented by an extensive line-up of high-resolution Arbitrary Waveform Generators (AWGs). These products are perfect for control signal generation, waveform replay and simulation. The products are available in a variety of form factors including tiny PCIe cards, which can plug directly into a PC, or LXI boxes that connect to a network or PC via Ethernet, plus PXIe modules for off-the-shelf installation into automated test systems.
Combining Julia with Spectrum Instrumentation products also helps to speed up processing and reduce latency. The Spectrum products offer ultrafast data transfers with a variety of different acquisition and generation modes (such as single, multiple, gated and FIFO) which helps to optimise testing throughputs.
It is a key benefit for situations that require fast decision making and it is one of the reasons why Spectrum products can be found working in applications involving autonomous vehicles, robotics, drones, imaging devices, medical appliances and control systems. Their general-purpose design means they can also be used with almost any sensor (accelerometers, transducers, photo diodes, detectors, MEMS, etc.) that is commonly found in AI machines.
As an example, Dr. Josef Höffner from the Leibniz Institute for Atmospheric Physics in Germany develops high performance LIDAR (Light Detection and Ranging) systems to measure temperature and wind speed in the atmosphere. Now a Julia user, he said: “We perform complex data acquisition and control, with 30 high speed signals, using three Spectrum Instrumentation cards, operating in closed loop operation 24/7.
"Our laser makes 500 pulses per second and we have to calculate, in real time, what has to happen next and adjust the controls. For that we have to get the result quickly. That means fast electronics, fast evaluation and then fast control of the hardware. We have found Julia offers a unique combination of speed and dynamic programming, simplifying the software development.”
The new SDK supporting Julia is available free of charge to all Spectrum customers. Spectrum products include a five year warranty with free software and firmware updates for each unit’s lifetime. Additionally, customers get support directly from Spectrum’s hardware and software engineers.