MindStudio Overview

MindStudio is a one-stop development environment and toolkit provided by Huawei for Ascend AI developers. It is committed to providing end-to-end solutions for Ascend AI application development.

MindStudio consists of the following tool chains based on development scenarios:
  • Operator development tool chain: With the help of comprehensive debugging tools and various tuning data, it simplifies programming through AscendC multi-layer API abstraction to assist developers in developing high-performance operators at low costs.
  • Training development tool chain: It is a full-process tool chain that focuses on pain points encountered by users during model migration and development. It provides the analysis and migration tool, accuracy debugging tool, and performance tuning tool to help users solve difficulties in the development process, such as migration challenges, abnormal losses, unsatisfactory performance, or performance degradation. This enables users to easily solve accuracy and performance issues and embark on a fun and simple development journey.
  • Inference development tool chain: As a unified inference tool library of Ascend, it provides customers with functions required for integrated development, and supports one-stop debugging, tuning, and migration analysis. Currently, core components include the inference performance test (-benchmark), one-stop debugging and tuning (-debug/profile), model support analysis (-analyze), inference application migration analysis (-transplt), and inference model conversion (-convert).
Figure 1 Three development scenarios of MindStudio

MindStudio can be classified into the following toolkits based on the presentation mode:

MindStudio IDE

The MindStudio IDE is an integrated development environment developed based on the open-source IntelliJ IDEA platform for Ascend AI Processors. In addition to basic code editing, compilation, debugging, and running, the MindStudio IDE also provides various functions and tools dedicated to Ascend AI developers, including analysis migration, accuracy comparison, and performance analysis. Additionally, MindStudio supports multiple programming languages and frameworks, such as Python, C++, TensorFlow, and PyTorch. Developers can select the most suitable programming mode according to their own needs.

The MindStudio IDE currently supports Linux and Windows OSs. You need to download an independent installation package and install it. macOS can also start the MindStudio IDE through an SSH connection.

Figure 2 GUI example of the MindStudio IDE

MindStudio CLI

Unlike the MindStudio IDE, you do not need to separately download and install the MindStudio CLI tool, because after installing CANN, you can directly use it through the CLI. The MindStudio CLI now includes the accuracy comparison, AOE, performance analysis, and analysis and migration tools.

Figure 3 GUI example of the MindStudio CLI

MindStudio Plugin

MindStudio can also be used for Ascend AI development by installing independent plugins on Pycharm and IntelliJ IDEA. Currently, MindStudio provides such plugins as MindStudio Sshmanager, MindStudio Inference, MindStudio Training, MindStudio Operator, and MindStudio Profiler, which need to be installed and used on IDEA.

Figure 4 Installing MindStudio plugins on IntelliJ IDEA