Conan is an open source, decentralized and multi-platform package manager for C/C++. It enables developers to encapsulate C/C++ project dependencies, distribute them, and consume them in other projects. Conan is fully backed by Jfrog. For developers, using Conan simplifies their complex build environments which typically have many dependencies. Software development activities on Arm Neoverse platforms are increasingly driven by massive amounts of IoT based data explosion & unprecedented number of devices getting connected. This is causing transformational change in the IoT gateway and edge compute platforms requiring them to be more general purpose in nature and hosting multiple applications. These development activities for edge computing on Arm platforms are now further simplified with easily access to Amazon EC2 A1 instances that feature 64-bit Arm Neoverse cores.
Arm Forge provides developers with tools to debug, fix and profile programs at any scale to accelerate software development activities. It is part of Arm Allinea Studio which provides high performance tools for Arm-based server and high-performance computing (HPC) applications. Our team uses Conan in conjunction with the JFrog Artifactory as universal Artifact Repository Manager. Additionally, Arm C/C++ Compiler & Arm Fortran Compiler teams also use Conan as part of their internal development efforts. The Arm C/C++ Compiler enables the development of highly efficient C/C++ software powering development activities for billions of devices. The Arm Fortran compiler is tuned for HPC workloads running on 64-bit Arm based platforms.
Arm Forge has a large number of third-party dependencies that needed to be patched on multiple Linux distributions and on multiple processor architectures. A subset of these were built on macOS and Windows. Prior to adopting Conan and Artifactory, the team faced a few significant issues with their build process:
Using Conan provided a single method of managing these dependencies and synchronization simplified the build process significantly.
As part of internal development activities, Conan provides following benefits:
All of these benefits make it efficient and reliable for developers to natively develop C/C++ code on Arm including development for HPC libraries. These are just two examples of how Conan is used as a package manager for C/C++ development activities on Arm platforms. There are many other use cases in various industries. We are interested to hear about your projects and activities that involve C/C++ development on Arm that can benefit from Conan.
[CTAToken URL = "mailto:Bhumik.Patel@arm.com" target="_blank" text="Contact Bhumik Patel" class ="green"]