生命科学与生物医学-3D可视化和分析Amira 软件硬件配置要求
Amira 软件系统要求
Amira Software 运行于:
- Microsoft Windows® 10(64 位)。对早于 Windows® 10 的 Windows® 版本的测试已停止。
- Linux® x86_64(64 位)。支持的 64 位架构是 Intel64/AMD64 架构。支持的 Linux 发行版是 CentOS 7。
注意: 对于下一个版本 2022.2,CentOS7 将停产并由 Ubuntu 20.04 取代,作为官方支持的 linux 平台。在此版本之后,CentOS7 将不再有新产品开发或更新。您仍然可以使用我们软件产品的 CentOS7 版本,我们将在 12 个月内继续提供错误修复。
某些版本和扩展或功能仅限于某些平台:
- Amira Software XWind Extension:Meshing Workroom 和 Generate Tetra Mesh 模块仅在 Microsoft Windows 上受支持,Linux 上不支持。
- Amira Software XObjectTracking Extension 仅在 Microsoft Windows 上受支持,Linux 上不支持。
- Olympus 和 TXM 文件格式仅在 Microsoft Windows 上受支持,在 Linux 上不支持。
- 深度学习预测、 DL Training - Segmentation 2D 和 DL Training - Segmentation 3D 模块仅在 Microsoft Windows 上受支持,Linux 上不支持。2D 还需要至少支持 CUDA Compute Capability 3.5 的 NVIDIA GPU,3D 需要 5.2。驱动程序应该是最新的。此处列出了兼容的 GPU 。 还需要支持 AVX2 扩展的 CPU。由于深度学习模块与 Calculus MATLAB 模块或 Generate Tracks 模块之间存在潜在的库冲突,因此无法同时实例化这些模块。
为 Amira Software 优先考虑硬件
介绍
本文档旨在提供有关选择合适的工作站来运行 Amira 的建议。
需要考虑的四个最重要的组件是显卡 (GPU)、CPU、RAM 和硬盘驱动器。
大体积数据的直接体渲染或从数据中提取的大三角表面可视化的性能在很大程度上取决于 GPU 的能力。图像处理算法的性能在很大程度上取决于 CPU 的性能。快速加载或保存大数据的能力在很大程度上取决于硬盘驱动器的性能。而且,当然,系统中的可用内存量将是对可以加载和处理的数据大小的主要限制。
由于硬件要求会根据您的数据大小和工作流程而有很大差异,因此我们强烈建议您利用我们支持的评估版本来尝试使用您的典型数据集之一。
在本文档中,术语 Amira 是指 Amira Software 和所有 Amira Software 扩展。
显卡
Amira 可视化性能的一个最重要的决定因素是显卡。
Amira 应该在提供 OpenGL 2.1 或更高版本的完整实现的任何图形系统(包括 GPU 及其驱动程序)上运行(某些功能可能不可用,具体取决于 OpenGL 版本和支持的扩展)。但是,显卡和驱动程序错误并不少见。
所需的 GPU 内存量取决于数据的大小。我们建议卡上至少有 1 GB。一些可视化模块可能需要足够大的图形内存来保存实际数据。
高端显卡具有 16 到 32 GB 的内存。全分辨率的最佳性能体积可视化要求数据适合图形内存(Amira 的一些体积渲染模块能够绕过这个限制)。
为了在单个显示器上进行可视化,Amira 不会受益于多个图形板。然而,一些图像处理算法依赖于 CUDA 进行计算,虽然计算可以在单个支持 CUDA 的显卡上运行,但该计算也可以在安装在系统上的第二个支持 CUDA 的显卡上运行。多显卡配置可用于驱动多个屏幕或沉浸式环境。
在比较显卡时,需要考虑许多不同的标准和性能数字。有些比其他更重要,有些对于某些类型的渲染更重要。因此,考虑您的特定可视化要求非常重要。除了基本的可视化外,不建议将集成显卡用于 Amira 等图形密集型应用程序。
有关 NVIDIA GeForce/Quadro 和 AMD Radeon/FirePro 卡的维基百科文章将详细介绍具体的性能指标:
- 内存大小:这对于体可视化(体渲染和切片)以最大化图像质量和性能非常重要,因为体数据存储在 GPU 的纹理内存中进行渲染。 #p#page_title#e#如果几何图形非常大(大量三角形),这对于几何图形渲染也很重要。
- 内存接口/带宽:这对于体渲染很重要,因为在渲染期间需要将大量纹理数据从系统移动到 GPU。PCI Express 3 总线是当今最快的接口。
- 核心数(也称为流处理器):这对于体渲染非常重要,因为您启用的每个高质量渲染功能都需要在渲染期间在 GPU 上执行额外的代码。
- 每秒三角形数:这对于几何渲染(表面、网格)非常重要。
- Texels per second / Fill rate:这对于体可视化(尤其是体渲染)非常重要,因为会渲染大量纹理并且像素会被“填充”多次以混合最终图像。
专业显卡
小贩 | 家庭 | 系列 |
英伟达 | 绘画 | 麦克斯韦、开普勒、帕斯卡、RTX、图灵 |
AMD | FirePro | W, V |
所有驱动程序错误都提交给供应商。在未来的驱动程序版本中可能会有修复。
标准图形板
小贩 | 家庭 | 系列 |
英伟达 | GeForce | 麦克斯韦、开普勒、帕斯卡、RTX、图灵 |
AMD | Radeon | 从 GCN 1.1 开始 |
英特尔 | 高清显卡 | 布罗德韦尔,天湖 |
由于供应商支持政策,在标准显卡上,我们无法承诺为由驱动程序引起的错误提供修复。
- 专业显卡将 受益于供应商提供的专业支持(驱动程序错误修复)。
- 始终为您的显卡使用最新的驱动程序版本。
- 您还应该确保将显示器插入显卡而不是集成芯片组。
- 对于 NVIDIA Quadro 板,我们建议使用驱动程序配置文件“3D App - Visual Simulation”。如果出现渲染或性能问题,您可能需要尝试不同的“3D App”配置文件。
- 关闭垂直同步功能可以提高帧速率。
- 访问 http://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units 获取 NVIDIA 主板和比较的完整列表。
- 访问 http://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units 获取 AMD 主板和比较的完整列表。
- 一些可视化模块(如体积渲染)可能不支持英特尔显卡。
系统内存
对于需要处理大数据的 Amira 用户来说,系统内存是第二个最重要的决定因素。
您可能需要比要在 Amira 中加载的数据的实际大小更多的内存。某些处理可能需要数倍于原始数据集所需的内存。例如,如果要在内存中加载 4 GB 数据集并对原始数据应用非本地均值过滤器,然后计算距离图,则可能需要多达 16 或 20 GB 的额外内存用于中间您的处理结果。通常,您需要 2 或 3 倍于基本操作正在处理的数据的内存占用。对于更复杂的工作流程,您可能需要多达 6 或 8 倍的内存量,因此 4 GB 数据集可能需要 32 GB。
另请注意,磁盘上的数据大小可能远小于加载数据所需的内存,因为文件格式可能已压缩数据(例如,加载一堆 JPEG 文件)。
Amira 可以使用大数据访问 (LDA) 或智能多通道系列 (SMS) 技术处理超出系统物理内存的数据 - SMS 需要 Xplore5D 扩展。它们是扩展性能的极好方法,但它不能直接替代拥有更多物理内存。使用 Amira 大数据技术与大量系统内存相结合,可实现最佳性能和最佳分辨率。
Amira 3D Pro 提供另一种加载选项,支持从磁盘到磁盘的 2D 和 3D 图像处理,无需将整个数据加载到内存中;然后模块按数据板运行。即使硬件内存有限,这也能处理和量化大型图像数据。 由于每块板坯的处理都需要从硬盘驱动器加载数据和保存结果,因此大大增加了处理时间。因此,为了获得最佳性能,总是首选处理完全加载到内存中的数据。
硬盘驱动器
处理大文件时,从磁盘读取数据会降低您的工作效率。标准硬盘驱动器 (HDD)(例如,7200rpm SATA 磁盘)只能以大约 60 MB/秒的持续速率将数据流式传输到您的应用程序。那是理论上的极限;您的实际体验可能更接近 40 MB/秒。当您想从磁盘读取 1 GB 的文件时,您可能需要等待 25 秒。对于 10 GB 的文件,等待时间为 250 秒,超过 4 分钟。大数据技术将大大减少数据可视化的等待时间,但当您想要以全分辨率读取数据文件以进行数据处理时,磁盘访问仍然是一个限制因素。与传统 HDD 相比,固态硬盘 (SSD) 可以提高读写速度。
为了获得最佳性能,推荐的解决方案是在 RAID5 模式下配置多个硬盘驱动器(3 个或更多 HDD 或 SSD);请注意,RAID 配置可能需要更多的系统管理。仅出于性能考虑,可以使用 RAID 0,但要注意硬盘驱动器故障时数据丢失的风险。如果您想要性能和数据冗余,则建议使用 RAID 5。
通过网络读取数据,例如从文件服务器读取数据,通常比从本地磁盘读取数据要慢得多。您的网络性能取决于网络技术(100 Mb、1 Gb 等)、网络上的其他流量以及对文件服务器的其他请求的数量/大小。请记住,您(通常)共享网络和服务器,不会获得理论带宽。大数据技术还可以通过网络促进大量数据的可视化,但如果数据加载是您工作流程的瓶颈,我们建议您制作数据的本地副本。
中央处理器
虽然 Amira 主要依靠 GPU 性能进行可视化,但许多模块是计算密集型的,它们的性能将受到 CPU 性能的强烈影响。
Amira 中越来越多的模块是多线程的,因此可以利用系统上可用的多个 CPU 或多个 CPU 内核。Amira XImagePAQ 提供的大多数量化模块以及各种计算模块都是这种情况。
快速的 CPU 时钟、内核数量和内存缓存是影响 Amira 性能的三个最重要的因素。虽然大多数多线程模块会根据内核数量很好地扩展,但扩展瓶颈可能来自内存访问。根据经验,最多 8 个内核显示出几乎线性的可扩展性,而超过 8 个内核并没有显示出太多的性能提升。更大的内存缓存可以提高性能。
硬件如何帮助优化
以下是优化特定任务时要考虑的硬件特性摘要。
可视化大数据(LDA 或 SMS):
- 高速硬盘
- 系统内存
- 显存
- 内存到 GPU/CPU 带宽
基本体绘制:
- GPU 填充率(每秒纹素)
高级体积渲染(体积渲染模块):
- 大量使用像素着色器
- GPU 时钟频率、GPU 核心数
大型几何体渲染,例如来自 Isosurface 或 Generate Surface 的大型表面、大型点簇、大型数值模拟网格:
- GPU时钟频率,每秒三角形数
图像处理和量化(Amira 3D Pro):
- 多个 CPU 内核(适用于许多模块,包括大多数图像处理模块)
- CPU时钟频率
Anisotropic Diffusion, Non-Local Means Filter(高性能平滑和降噪图像过滤器):
- GPU 速度、GPU 核心数(流处理器)、CUDA 兼容(NVIDIA)
其他计算模块、显示模块数据提取:
- CPU时钟频率
- 多个 CPU 内核(用于多个多线程模块,例如 Generate Surface、Register Images、Resample、Arithmetic)
GPU 计算使用使用 Amira XPand C++ API 和 GPU API 编程的自定义模块:
- GPU 时钟频率、GPU 核心数(流处理器)
- 多 GPU 系统,例如 NVIDIA Tesla
- CUDA 支持
特别注意事项
环境变量
QT_PLUGIN_PATH 不能作为系统范围的环境变量导出,因为它可能会干扰此应用程序。
防火墙
激活 Amira 需要 Internet 访问权限。您的防火墙可能会阻止与许可证服务器的连接。
Linux
Amira 仅适用于 Intel64/AMD64 系统。
Amira 的官方 Linux 发行版是 CentOS 7 64 位。尽管如此,如果可以找到所需版本的系统库,Amira 可能会在其他一些 64 位 Linux 发行版上工作,但对这些平台的技术支持将受到限制。 以下是这些 64 位 Linux 发行版的非详尽列表:
- CentOS® 7,Amira 已经过全面测试的官方 Linux 发行版。
- 红帽® 企业 Linux® 7.x。
笔记:
- 标准安装 Linux 后,不一定要激活硬件加速,尽管 X-Windows 和 Amira 可能工作正常。要启用 OpenGL 硬件,可能必须安装特定于加速的驱动程序。这可以大大提高渲染性能。有时需要禁用模板缓冲区(通过使用 -no_stencils 选项启动 Amira)来获得加速。
- 在某些发行版中,用户界面的某些部分(例如分段编辑器)可能无法正确显示。这是一个已知的 Qt 问题。您可以通过禁用 Xorg.conf 配置文件的扩展部分中的复合选项来解决此问题:
部分“扩展”
选项“复合”“禁用”
EndSection - 为了在启用 SELinux 的 Linux 系统上正常工作,Amira 需要修改一些 Amira 共享对象文件的安全上下文,以便它们可以重新定位到内存中。安装 Amira 的用户(可能是 root)必须从 shell 控制台运行以下命令才能设置正确的安全上下文:
chcon -v -t texrel_shlib_t "${AMIRA_ROOT}"/lib/arch-Linux*-*/库*.so - 即使 Amira 可以与任何桌面(如 KDE)一起使用,它也仅在 GNOME 中得到验证。
- 由于切换到 Qt 5.9 和 CentOS < 7.7 ( cat /etc/centos-release 检查版本),您需要更新系统的 freetype 库如下:
- 以 root 身份登录
- sudo yum 更新 freetype
XPand C++ API
要使用 Windows 上的 Amira 3D Pro 中提供的 C++ API 为 Amira 创建自定义扩展,您需要 Microsoft Visual Studio® 2013,更新 4。在调试模式下运行 Amira 之前安装 Visual Studio 很重要。
要使用 Linux 上 Amira 3D Pro 中可用的 C++ API 为 Amira 创建自定义扩展,您需要在 RHEL 7 上安装 gcc 4.8.x。使用以下命令确定 GNU 编译器的版本:
gcc --version
笔记:
- 要使用的特定编译器版本取决于您要在其上运行扩展的 Amira 应用程序版本。为了获得所需的编译器版本,启动您的 Amira 目标版本并在 TCL 控制台中键入 app uname。
- 对于下一个 2022.2 版本,使用 XPand 扩展所需的编译器版本将升级为:
- Windows 上的 Microsoft Visual Studio® 2019
- Linux 上的 gcc 9
MATLAB
目前所有平台上支持的 MATLAB 版本是 2020a。要使用与 MATLAB (MathWorks, Inc.) 建立连接的 Calculus MATLAB 模块,请按照以下安装说明进行操作:
视窗
如果您在安装过程中没有注册,请在 Windows 命令行中输入以下命令:matlab /regserver。
此外,在 PATH 环境变量中添加 MATLAB_INSTALLATION_PATH/bin 和 MATLAB_INSTALLATION_PATH/bin/win64 以允许 Amira 查找 MATLAB 库。
Linux
在 Linux 64 位上,LD_LIBRARY_PATH 环境变量应设置为 MATLAB_INSTALLATION_PATH/bin/glnxa64。
PATH 环境变量也应设置为 MATLAB_INSTALLATION_PATH/bin。
如果您在设置环境变量后仍然无法启动 Calculus MATLAB ,可能是因为安装在您的平台上的 GNU 标准 C++ 库 (libstdc++) 比 MATLAB 所需的旧。您可以在 64 位 Linux 上的 MATLAB_INSTALLATION_PATH/sys/os/glnxa64 中查看 MATLAB 的嵌入式 libstdc++ 版本。
如果需要,将此路径添加到 LD_LIBRARY_PATH。
远程显示
Amira 未在远程会话中进行测试;不支持远程显示。