Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Tools, Software and IDEs blog Driving C/C++ Developer use cases for Arm with Conan
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • Arm TechCon
  • infrastructure
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Driving C/C++ Developer use cases for Arm with Conan

Bhumik Patel
Bhumik Patel
October 7, 2019
2 minute read time.

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 & Arm Compiler uses Conan

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:  

  • Unreliable build process employed to build various releases  
  • Inefficiencies in build process resulting in synchronization issues while rebuilding code and investigating bugs  
  • Wastage of builds for the project with same code built for various feature branches  

 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: 

  • Native aarch64 support  
  • Ability to manage large number of code dependencies 
  • Reduced build times
  • Versioning reliability and ability to upgrade without disruptions 
  • Consistent interface across different platforms such as RedHat, Ubuntu & Windows  
  • Simplicity for developers in making changes and rebuilds 
  • Extensive community contributions and support for Conan 
  • Support for custom tool chain requirements  
  • Easy for team to modify Conan recipes and get quick feedback via extensive online documentation 
  • Conan uses Python which is well known within our teams 

 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. 

Contact Bhumik Patel

 

 

Anonymous
Tools, Software and IDEs blog
  • What is new in LLVM 16?

    Pablo Barrio
    Pablo Barrio
    Arm contributions from Arm to the new release include the usual architecture and CPU additions and new features such as, function multi-versioning and strict floating point support.
    • May 1, 2023
  • Product update: Arm Development Studio 2023.0 now available

    Ronan Synnott
    Ronan Synnott
    Arm Development Studio 2023.0 now available with support for Arm Neoverse V2 processor.
    • April 27, 2023
  • What is new in LLVM 15?

    Pablo Barrio
    Pablo Barrio
    LLVM 15.0.0 was released on September 6, followed by a series of minor bug-fixing releases. Arm contributed support for new Arm extensions and CPUs.
    • February 27, 2023