#硬件加速
onnxruntime
ONNX Runtime是一款跨平台的机器学习推理和训练加速工具,兼容PyTorch、TensorFlow/Keras、scikit-learn等深度学习框架及传统机器学习库。它支持多种硬件和操作系统,通过硬件加速和图优化实现最佳性能,显著提升模型推理和训练速度,尤其在多节点NVIDIA GPU上的Transformer模型训练中表现出色。
DirectML
DirectML是一款基于DirectX 12的高性能机器学习库,为常见机器学习任务提供GPU加速。它支持AMD、Intel、NVIDIA等多种DirectX 12兼容GPU,与Direct3D 12无缝集成,具有低开销和跨硬件一致性。DirectML适用于需要高性能和可靠性的机器学习应用,可集成到Windows ML、ONNX Runtime、PyTorch和TensorFlow等主流框架中。
jaxopt
JAXopt是基于JAX的优化器库,提供硬件加速、批处理和可微分的优化算法。支持GPU和TPU,可自动向量化多个优化问题实例,并支持优化解的微分。目前正与Optax合并,处于维护模式。适用于机器学习和科学计算领域的优化任务。
evojax
EvoJAX是基于JAX库开发的神经进化工具包,支持在多个TPU/GPU上并行运行神经网络。通过在NumPy中实现进化算法、神经网络和任务,并即时编译到加速器上运行,EvoJAX显著提升了神经进化算法的性能。该工具包提供了多个示例,涵盖监督学习、强化学习和生成艺术等领域,展示了如何在几分钟内完成原本需要数小时或数天的进化实验。EvoJAX为研究人员提供了一个高效、灵活的神经进化开发平台。
onnxruntime-genai
onnxruntime-genai是一个用于设备端高效运行大型语言模型的API。它支持Gemma、Llama、Mistral等多种模型架构,提供多语言接口。该项目实现了生成式AI的完整流程,包括预处理、推理、logits处理等。开发者可以使用generate()方法一次性生成输出或实现逐token流式输出。onnxruntime-genai为本地部署和运行LLM模型提供了简单、灵活、高性能的解决方案。
onnx-web
onnx-web是一个简化ONNX模型运行过程的开源工具,支持AMD和Nvidia GPU加速以及CPU回退。它提供用户友好的Web界面,支持txt2img、img2img等多种diffusion管道。该工具允许添加自定义模型,融合LoRA等附加网络,并具有多阶段和区域提示功能。onnx-web还提供API接口,适用于各种创作需求。
fanplayer
fanplayer是一款基于FFmpeg的跨平台视频播放器,支持Windows和Android系统。它以低资源消耗、精准音视频同步和多种渲染模式为特色。播放器提供变速播放、流媒体支持、硬件加速解码等功能,适用于多种场景。其代码结构简洁,易于理解和扩展。
QMPlay2
QMPlay2是一款跨平台开源多媒体播放器,支持多种音视频格式、YouTube视频和音频CD。它具备硬件加速解码、去隔行和球面视图等功能,提供音频均衡器和可视化效果。QMPlay2界面友好,支持多语言,可通过扩展模块增加功能。作为一款功能丰富的媒体播放器,QMPlay2易于使用且适用于多种操作系统。
transfomers-silicon-research
本项目汇集了Transformer模型硬件实现的研究资料,包括BERT及其优化方案。内容涵盖算法-硬件协同设计、神经网络加速器、量化和剪枝等技术。项目提供了详细的论文列表,涉及FPGA实现、功耗优化等多个领域,全面展示了Transformer硬件加速的最新研究进展。