llm-analysis
llm-analysis 是一款为大型语言模型(LLMs),如Transformer设计的工具,用于在不同的模型、GPU、数据类型和并行配置下估算训练与推理的延迟和内存使用。通过简单设置,可以快速计算出不同训练和推理方案的系统性能,以确定最优和可行的配置方案。此外,llm-analysis 支持多种并行化和重计算策略,并提供多种预定义配置和命令行接口,极大简化了配置和调试流程。它功能强大且易于集成,是开发和优化LLMs的理想工具。
memray
Memray 是一个开源的 Python 内存分析工具,能够追踪 Python 代码、原生扩展模块和解释器中的内存分配。它可生成多种报告,包括火焰图,帮助开发者分析内存使用。Memray 特点包括高精度追踪、支持原生代码和高性能。主要用途有分析应用内存使用、查找内存泄漏和定位内存分配热点。目前支持 Linux 和 MacOS 平台,可作为命令行工具或库使用。
heaptrack
heaptrack是一款为Linux平台开发的堆内存分析工具。通过跟踪内存分配并添加堆栈注释,它能帮助开发者定位内存占用热点、泄漏、分配热点和临时分配。与Valgrind的massif相比,heaptrack性能开销更低,数据分析更全面。它提供命令行和图形界面分析工具,可视化呈现内存使用情况,协助开发者优化应用程序内存管理。
scalene
Scalene是一款高性能Python分析工具,可同时监测CPU、GPU和内存使用。它能区分Python和原生代码执行时间,识别内存泄漏,分析数据复制量。独特的AI优化建议功能为开发者提供代码改进方案。通过命令行或Web界面,Scalene支持逐行分析,助力快速定位性能瓶颈,提升Python程序效率。
arrow
Apache Arrow 是一个开源的内存分析开发平台,旨在提高大数据系统的数据处理和传输速度。它提供高效的列式内存格式、IPC格式和Flight RPC协议,并支持多种编程语言。Arrow 的核心技术包括高性能的数据结构、跨语言兼容性和零拷贝数据共享,为现代数据分析应用提供了强大的基础架构支持。
memory_profiler
memory_profiler是一款强大的Python内存分析工具,可实时监控进程内存消耗并进行逐行分析。它支持装饰器用法,能生成详细的内存使用报告和可视化图表。此外,memory_profiler还提供IPython集成、多进程跟踪和内存断点等高级特性,有助于开发者快速定位和优化代码中的内存问题。作为纯Python实现的工具,memory_profiler依赖psutil模块,安装和使用都十分便捷。
guppy3
Guppy3是一个开源的Python堆分析工具集,专注于内存分析和优化。它包含多个子包,其中Heapy工具可用于查找和显示堆中对象信息。Guppy3支持Python 3.8至3.12版本,提供简洁的API接口。该工具有助于开发者诊断内存泄漏,分析对象引用关系,从而优化程序性能。Guppy3是Python开发中实用的内存分析工具。