Developers occupy a unique position with respect to AI. Software development, like many other professions, is expected to change as AI capabilities become more ubiquitous. Unlike most other vocations, however, developers don’t just interface with AI as end users. They’re also responsible for building new AI applications and integrating AI into existing software. Evaluating how AI is likely to impact software development requires considering its effects on these roles.
Accelerating App Creation
One of the ideas behind many of the AI coding tools that exist today is that a wide swathe of routine-but-important tasks can either be accelerated or offloaded to the AI. AI can offer advice on how to create (or complete) a function, translate code from one language to another, and answer coding questions from inside the IDE (Integrated Development Environment). Some tools are also able to assist with test and verification design.
Another concept receiving a fresh evaluation in light of recent AI advances is paired programming. In paired programming two people collaborate on a project with one person writing the code and one person reviewing it. Developers typically switch between both roles frequently to ensure both are familiar with all aspects of a program’s design and implementation. The result of this process is better code with fewer bugs. The downside to pair programming is embedded in the name: It costs more person-hours to develop the same program.
Code generation tools are one potential way to capture the benefits of pair programming for less cost. Instead of a second human guiding and making suggestions, an AI would serve as a sounding board, code evaluator, and potentially assist with test and verification. Various studies of LLM performance have found that these tools can significantly reduce development time.
At present, the majority of AI programming tools rely on cloud processing. This will change in the future as more AI-enabled PCs become available, especially since running applications locally could improve overall response times and make such assistants more useful. Select AMD Ryzen™ 7040 and 8040 Mobile series processors support advanced AI workloads through AMD XDNA™ architecture, accessed via the Ryzen AI software platform. AMD Ryzen AI 1.0 Software, generally available now, helps developers build AI-enabled applications and services more easily as they roll out AI capabilities across software ecosystems.
How Ryzen AI Simplifies AI Development
AMD Ryzen AI 1.0 Software includes a number of features intended to help developers get started, including a single-click installation process that should take about five minutes, a getting-started guide, and several tutorials and videos. ONNX Runtime applications built in PyTorch or TensorFlow can now be offloaded to the built-in NPU if desired or run on either the CPU or GPU.
Additionally, AMD has made a library of supported models available on Hugging Face as part of a larger and longer-term effort to port and optimize models for Ryzen AI. The most recent Ryzen AI software release also supports a wider variety of models, including generative AI models like Llama2 and OPT. These can be offloaded to the NPU to help improve battery life and overall execution efficiency. Finally, the AMD Ryzen AI 1.0 Software release includes early access support for speech recognition models like Whisper to support the development of Natural Language Processing (NLP) applications.
AMD is committed to extending AI support both through its state-of-the-art hardware and by cultivating a robust software ecosystem. AMD entered this era with the arrival of its Ryzen 7040 Mobile Series in 2023, followed by the Ryzen 8000 Series earlier this month, and will have more AI innovations to come in 2024.