# perfxpy **Repository Path**: PerfXLab/perfxpy ## Basic Information - **Project Name**: perfxpy - **Description**: PerfXPy是“澎峰科技”研发的一个面向数据科学家的高性能Python计算平台。兼顾易用性与高性能,主要针对ARM、RISC-V以及异构加速设备(GPU/NPU等)进行性能优化,并不断研发并集成各类数学工具,赋能科研、教学和算法开发。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2023-03-01 - **Last Updated**: 2023-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # perfxpy #### 介绍 Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。由于Python语言的简洁性、易读性以及可扩展性,被广泛用于做科学计算的研究机构,国内外大学计算机和非计算机专业使用Python来教授程序设计课程。随着人工智能时代的到来,Python由于其开源、丰富的工具库和国际大企业的推动,在人工智能领域也有着日益广泛的应用。 一方面,Python体系虽然有PyCharm、Anaconda、PyDev、Wing、VSCode、Jupyter、Atom许多国外优秀的IDE工具。但,对新一代计算机体系结构的支持进展缓慢(例如ARM生态、RISC-V生态),缺乏对CPU+GPU、CPU+NPU等异构计算体系的支持,尤其是缺乏对中国计算芯片平台的支持。 PerfXPy旨在面向新一代计算机体系结构提供最为完善的Python集成开发环境,推动Python语言在科学计算领域部分替代MATLAB;推动Python语言在人工智能领域充分发挥异构计算性能;为学生提供一个免费且优秀的学习编程环境。 #### 什么是PerfXPy PerfXPy®是一个面向新一代计算机体系结构研发的Python语言编程集成开发环境。主要特点: 1. 运行效率接近C/C++语言。核心数学计算库采用澎峰科技自主研发的PerfMPL,PerfMPL为x86、ARM、RISC-V各类指令集CPU提供了高性能的、全面的数学计算能力(参照intel MKL),支持GPU、NPU等加速卡的算子库扩展。具体请参考《PerfMPL®技术白皮书》。 2. 支持高性能异构计算。PerfXPy集成澎峰科技自主研发的PerfXAPI快速支持各类异构计算硬件,例如ARM CPU+xPU,RISC-V CPU+xPU(xPU指GPU、NPU等DSA)。 3. 完善的Python开发环境。PerfXPy拥有完善的集成开发环境(IDE,Integrated Development Environment),包括代码编辑、编译器,调试器和图形化用户界面工具),全面支持用户从学习Python编程、算法设计到进行大型项目开发的全流程。 ![输入图片说明](structure/perfxpy_python.png) #### 软件架构 ![输入图片说明](structure/perfxpy_structure.jpeg) #### PerfXPy版本与下载 1. 单机版,社区爱好者免费。可运行在个人电脑、笔记本、部分开发板硬件平台,支持Windows、Linux、OSX等操作系统。 2. SaaS版本,商业用户收费。可运行在计算型服务器平台,支持多用户远程登陆。 3. 集群版本,商业用户收费。可运行在高性能计算集群,支持多用户登陆,丰富的管理工具。 [演示视频](https://space.bilibili.com/1444176265) #### PerfXPy界面和功能 1. 启动界面 ![输入图片说明](structure/perfxpy_start.png) 2. 运行与调试 ![输入图片说明](structure/perfxpy_debug.png) 3. 插件安装与功能扩展 ![输入图片说明](structure/perfxpy_market.png) #### PerfXPy性能测试 ![输入图片说明](structure/perf_result_1.png) ![输入图片说明](structure/perf_result_2.png) 注:以上数据仅代表测试进行时的性能对比数据,其测试参数与硬件平台相关,仅供参考。CNN:基于CNN的cifar10图像分类;DNI:基于解耦神经网络的糖尿病人分类识别;NN:基于全连接神经网络的糖尿病人分类识别;SeaNMF:基于神经网络非负矩阵分解的短文本语义识别;NN_MNIST:基于神经网络的手写数字分类。 #### PerfXPy生态 PerfXPy正在通过与计算芯片生态、操作系统生态、科研生态进行广泛合作,面向新一代计算机体系结构,努力建设源自中国创新的、世界级的Python高性能集成开发环境生态。 1. PerfXPy已经运行在ARM处理器平台,支持Apple M系列、Phytium飞腾处理器、华为鲲鹏等ARM处理器。 2. PerfXPy已经运行在RISC-V处理器平台,支持阿里平头哥、优矽科技的RISC-V IP,支持算能科技RISC-V高性能处理器。 3. PerfXPy已经支持ubuntu,Debian等Linux操作系统,将扩展至麒麟、统统信UOS、openEuler等国产操作系统。