Files
clear-linux-documentation/zh_CN/tutorials/fmv.html
2024-11-04 18:48:51 +00:00

1346 lines
103 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="zh-CN" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="zh-CN" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,"script","https://www.google-analytics.com/analytics.js","ga");ga("create", "UA-61272224-1", {"cookieDomain":"auto","allowLinker":true});ga("require", "linker");ga("linker:autoLink", [/(community\.|www\.|^)clearlinux\.org/gi], true);ga("set", "anonymizeIp", true);ga("send", "pageview");</script>
<title>Function multi-versioning &mdash; Documentation for Clear Linux* project</title>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="canonical" href="docs.01.org/clearlinux/tutorials/fmv.html"/>
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/translations.js"></script>
<script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="author" title="关于这些文档" href="../about.html" />
<link rel="index" title="索引" href="../genindex.html" />
<link rel="search" title="搜索" href="../search.html" />
<link rel="next" title="Kata Containers*" href="kata.html" />
<link rel="prev" title="Flatpak*" href="flatpak.html" />
<link rel="stylesheet" href="../_static/tcs_theme.css" type="text/css" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" style="background: #007ab2" >
<a href="../index.html" class="icon icon-home"> Clear Linux* Project Docs
<img src="../_static/clearlinux.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" id="clear-docs-search" placeholder="Search documentation" results="0"/>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Clear Linux</span>
v: latest
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>Language Versions</dt>
<dd><a href="/clearlinux/latest/tutorials/fmv.html">English</a></dd>
<dd><a href="/clearlinux/latest/zh_CN/tutorials/fmv.html">简体中文 (Simplified Chinese)</a></dd>
</dl>
<dl>
<dt>Document Versions</dt>
<dd><a href="/clearlinux/latest/tutorials/fmv.html">latest</a></dd>
<dd><a href="/clearlinux/latest/tutorials/fmv.html">Future versions</a></dd>
</dl>
<dl>
<dt>clearlinux.org links</dt>
<dd>
<a href="https://www.clearlinux.org/">Project Home</a>
</dd>
<dd>
<a href="https://github.com/clearlinux/clear-linux-documentation">GitHub</a>
</dd>
</dl>
</div>
</div>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../get-started/index.html">开始使用</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../get-started/index.html#pre-install">安装前</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/compatibility-check.html">检查处理器和 EFI 固件的兼容性</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/compatibility-check.html#check-compatibility">检查兼容性</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/bootable-usb.html">创建可引导 U 盘</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb.html#create-a-bootable-usb-drive-on-linux">在 Linux* 上创建可引导 U 盘</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb.html#create-a-bootable-usb-drive-on-macos">在 macOS* 上创建可引导 U 盘</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb.html#create-a-bootable-usb-drive-on-windows">在 Windows* 上创建可引导 U 盘</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/index.html#install">安装</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html">从实时桌面安装 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html#system-requirements">系统要求</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html#preliminary-steps">初始步骤</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html#install-from-live-image">从实时映像安装</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html#minimum-installation-requirements">最低安装要求</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html#cl-desktop-installer">Clear Linux OS 桌面安装程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html#navigation">导航</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html#required-options">必填选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html#advanced-options">高级选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop.html#finish-installation">完成安装</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/bare-metal-install-server.html">使用实时服务器将 Clear Linux* OS 安装在裸机上</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#system-requirements">系统要求</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#download-the-latest-cl-live-server-image">下载最新的 Clear Linux OS 实时服务器映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#install-cl-on-your-target-system">在目标系统上安装 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#launch-the-cl-installer">启动 Clear Linux OS 安装程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#minimum-installation-requirements">最低安装要求</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#main-menu">主菜单</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#navigation">导航</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#required-options">必填选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#recommended-options">推荐选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#advanced-options">高级选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#finish-installation">完成安装</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server.html#troubleshooting">故障检修</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/install-configfile.html">利用 clr-installer 和配置文件安装</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/install-configfile.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/install-configfile.html#process">流程</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/install-configfile.html#references">参考</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/index.html#install-in-a-virtual-machine">在虚拟机上安装</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html">Microsoft Hyper-V* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html#enable-hyper-v">启用 Hyper-V</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html#create-a-virtual-network">创建虚拟网络</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html#create-a-virtual-machine">创建虚拟机</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html">KVM 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html#install-qemu-kvm">安装 QEMU-KVM</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html#download-and-launch-the-virtual-machine">下载并开启虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html#ssh-access-into-the-virtual-machine">通过 SSH 访问虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html#optional-add-the-gnome-display-manager-gdm">可选:添加 GNOME Display Manager (GDM)</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html">VirtualBox* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#download-and-extract-the-cl-installer-iso">下载并解压缩 Clear Linux OS 安装程序 ISO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#create-a-new-vb-virtual-machine">创建新的 VirtualBox 虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#install-cl-on-the-vb-vm">在 VirtualBox 虚拟机上安装 Clear Linux OS。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#troubleshooting">故障检修</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html">VMware* Workstation Player 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#install-the-vmware-workstation-player-hypervisor">安装 VMware Workstation Player 虚拟机管理程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#download-the-latest-cl-installer">下载最新的 Clear Linux OS 安装程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#enable-uefi-boot-support">启用 UEFI 引导支持</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#install-cl-into-the-new-vm">将 Clear Linux OS 安装至新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#detach-the-cl-installer-iso-from-the-vm">从虚拟机断开 Clear Linux OS 安装程序 ISO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#install-open-vm-tools">安装 open-vm-tools</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html">VMware* Workstation Player (预配置映像)上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#install-the-vmware-workstation-player-hypervisor">安装 VMware Workstation Player 虚拟机管理程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#download-the-latest-cl-vmware-image">下载最新的 Clear Linux OS VMware 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#decompress-and-verify-the-image">解压缩并验证映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#attach-the-pre-configured-cl-vmware-image">挂载预配置的 Clear Linux OS Vmware 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#enable-uefi-boot-support">启用 UEFI 引导支持</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#power-on-the-vm">开启虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html">VMware* ESXi 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#download-the-latest-cl-installer-iso">下载最新的 Clear Linux OS 安装程序 ISO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#upload-the-cl-installer-iso-to-the-vmware-server">将 Clear Linux OS 安装程序 ISO 上传至 VMware 服务器</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#install-cl-into-the-new-vm">将 Clear Linux OS 安装至新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#reconfigure-the-vm-s-settings-to-boot-the-newly-installed-cl">重新配置虚拟机设置,以引导新安装的 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#power-on-the-vm-and-boot-cl">开启虚拟机,引导 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html">VMware* ESXi预配置映像上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#download-the-latest-cl-vmware-image">下载最新的 Clear Linux OS VMware 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#upload-the-cl-image-to-the-vmware-server">将 Clear Linux OS 映像上传至 VMware 服务器</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#convert-the-cl-image-to-an-esxi-supported-format">将 Clear Linux OS 映像转换为 ESXi 支持的格式。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#power-on-the-vm-and-boot-cl">开启虚拟机,引导 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html">增加映像的虚拟磁盘大小</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html#determine-the-partition-order-and-sizes-of-the-prebuilt-image">确定预构建映像的分区顺序和大小。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html#id2">增加虚拟盘大小</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/index.html#deploy-to-the-cloud">部署到云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/cloud-install/aws-web.html">Amazon Web Services* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/aws-web.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/aws-web.html#locate-select-and-launch-the-cl-basic-ami">找到、选择并启动 Clear Linux OS 基本 AMI</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/aws-web.html#connect-to-your-clear-linux-os-basic-instance">连接到 Clear Linux 操作系统基本实例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/aws-web.html#update-the-cl-instance">更新 Clear Linux OS 实例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/aws-web.html#stop-the-cl-instance">停止 Clear Linux OS 实例</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/cloud-install/azure.html">Microsoft* Azure* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/azure.html#install-ms-azure-cli-2-0-on-cl">在 Clear Linux OS 中安装 Microsoft Azure CLI 2.0</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/azure.html#log-into-your-microsoft-azure-account">登录到您的 Microsoft Azure 帐户</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/azure.html#create-a-ms-azure-resource-group">创建 Microsoft Azure 资源组</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/azure.html#create-and-log-into-the-cl-virtual-machine">创建 Clear Linux OS 虚拟机并登录到该虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/azure.html#stop-and-deallocate-the-cl-vm-and-resources">停止并取消分配 Clear Linux OS 虚拟机和资源</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/azure.html#next-steps">后续步骤</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/cloud-install/gce.html">Google Cloud Platform* 上的 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/gce.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/gce.html#setup-cl-vm-on-gcp">在 GCP 上安装 Clear Linux OS 虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/gce.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/cloud-install/qingcloud.html">Clear Linux* OS on QingCloud* (如何在青云 QingCloud 上创建 Clear Linux OS 虚拟主机)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/qingcloud.html#id2">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/qingcloud.html#qingcloud-cl">在 QingCloud 控制台中选择并启动 Clear Linux OS 虚拟主机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/qingcloud.html#ip">申请公网IP并添加到虚拟主机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/qingcloud.html#cl">连接到 Clear Linux OS 虚拟主机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/qingcloud.html#id3">删除 Clear Linux OS 虚拟主机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cloud-install/qingcloud.html#id4">删除申请的公网IP</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../about.html">关于</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../about.html#release-cadence">发行节奏</a></li>
<li class="toctree-l2"><a class="reference internal" href="../about.html#updates">更新</a></li>
<li class="toctree-l2"><a class="reference internal" href="../about.html#ease-of-use">易用性</a></li>
<li class="toctree-l2"><a class="reference internal" href="../about.html#custom-derivatives">自定义衍生工具</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../about.html#create">创建</a></li>
<li class="toctree-l3"><a class="reference internal" href="../about.html#deploy">部署</a></li>
<li class="toctree-l3"><a class="reference internal" href="../about.html#administrate">管理</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../guides/index.html">指南</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../guides/index.html#clear-linux">Clear Linux</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/autoproxy.html">Autoproxy</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autoproxy.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autoproxy.html#how-it-works">工作原理</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/autospec.html">autospec</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#how-it-works">工作原理</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#test-packaged-software">测试封装后的软件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#references">参考</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/bundles.html">bundle 文件</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/bundles.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/compatible-kernels.html">内核</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/compatible-kernels.html#bare-metal-only">仅限裸机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/compatible-kernels.html#also-compatible-with-vms">也与虚拟机兼容</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/compatible-kernels.html#vm-only">仅限虚拟机</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/debug.html">调试系统</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/debug.html#background">后台</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/debug.html#usage">用途</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/debug.html#implementation">实施</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/ister.html">ister.py image builder</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/ister.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/ister.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/ister.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/mixer.html">mixer</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#how-it-works">工作原理</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#references">参考</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/security.html">操作系统安全性</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-updates">更新方面的安全举措</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-software">软件方面的安全举措</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-system-design">系统设计方面的安全举措</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/stateless.html">无状态</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#file-level-separation">文件级隔离</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#software-configuration">软件配置</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#system-reset">系统重置</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#additional-information">附加说明</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/swupd.html">swupd</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd.html#how-it-works">工作原理</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd.html#quick-reference">快速参考</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/telemetrics.html">遥测</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/telemetrics.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/telemetrics.html#how-to-use">使用方法</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/telemetrics.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/telemetrics.html#reference">参考</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../guides/index.html#maintenance">维护</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html">设计 Clear Linux* OS 生命周期</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#content-workflow">内容工作流程</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#release-workflow">版本工作流程</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#implementation">实施</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html">分配静态 IP 地址</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html#identify-which-program-is-managing-the-interface">确定哪个程序正在管理接口</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html#using-networkmanager">使用 NetworkManager</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html#using-systemd-networkd">使用 systemd-networkd</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/bulk-provision.html">批量供应</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/bulk-provision.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/bulk-provision.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/bulk-provision.html#configuration">配置</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/cpu-performance.html">CPU 功率和性能</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#cpu-power-saving-mechanisms">CPU 节能机制</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#linux-cpu-clock-frequency-scaling">Linux CPU 时钟频率缩放</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#thermal-management">散热管理</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/deploy-at-scale.html">大规模部署</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/deploy-at-scale.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/deploy-at-scale.html#pick-a-usage-and-update-strategy">选择使用和更新策略</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/deploy-at-scale.html#pick-an-image-distribution-strategy">选择映像分发策略</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/deploy-at-scale.html#considerations-with-stateless-systems">有关无状态系统的注意事项</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/developer-workstation.html">开发人员工作站</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/developer-workstation.html#workstation-setup">工作站设置</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/developer-workstation.html#swupd-search">swupd 搜索</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/developer-workstation.html#core-concepts">核心概念</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html">下载、验证并解压缩 Clear Linux* OS 映像,</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#linux-os-steps">Linux 操作系统步骤</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#macos-steps">macOS* 步骤</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#windows-os-steps">Windows* 操作系统步骤</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#image-types">映像类型</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/enable-user-space.html">创建并启用新的用户空间</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#create-a-new-user">创建新用户</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#add-the-new-user-to-the-wheel-group">将新用户添加到 wheel 组</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#install-and-update-the-os-software-to-its-current-version">安装操作系统软件并将其更新到最新版本</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#add-a-bundle">添加捆绑包</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#next-steps">后续步骤</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html">修复损坏的安装</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#boot-a-live-desktop-image-to-fix-target-system">引导实时桌面映像来修复目标系统</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#install-from-live-image">从实时映像安装</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#mount-root-partition-verify-and-fix">挂载根分区,然后验证并修复</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/hostname.html">修改主机名</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/hostname.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/hostname.html#set-your-hostname">设置主机名</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/hostname.html#view-your-hostname">查看主机名</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html">增加映像的虚拟磁盘大小</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html#determine-the-partition-order-and-sizes-of-the-prebuilt-image">确定预构建映像的分区顺序和大小。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html#id2">增加虚拟盘大小</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/query-upstream.html">从上游存储库查询软件包信息</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#configure-dnf">配置 DNF</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#dnf-command-usage-examples">DNF 命令用法示例</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/resource-limits.html">资源限制</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/resource-limits.html#system-wide-limits">系统范围限制</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/resource-limits.html#per-user-limits">每用户限制</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/resource-limits.html#service-limits">服务限制</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/restart.html">操作系统更新后重启系统服务</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#how-it-works">工作原理</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#basic-options">基本选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#monitor-options">监控选项</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#example">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#telemetry">遥测技术</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#conclusion">总结</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/time.html">设置时间</a></li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/validate-signatures.html">验证签名</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/validate-signatures.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/validate-signatures.html#image-content-validation">映像内容验证</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/validate-signatures.html#update-content-validation">更新内容验证</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../guides/index.html#network">网络</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/custom-clear-container.html">根据 Docker 容器映像构建一个自定义 Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/custom-clear-container.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/custom-clear-container.html#build-the-base-container-image">构建基础容器映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/custom-clear-container.html#manage-bundles-in-a-container">管理容器中的捆绑包</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/dpdk.html">使用 DPDK 在平台之间发送数据包</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#install-dpdk-and-build-l3fwd-example-platform-b">安装 dpdk 并构建 l3fwd 示例(平台 B</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#build-pktgen-platform-a">构建 pktgen平台 A</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#bind-nics-to-dpdk-kernel-drivers-platforms-a-and-b">将网卡绑定到 DPDK 内核驱动程序(平台 A 和平台 B</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#set-hugepages-platforms-a-and-b">设置大页(平台 A 和 B</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#set-up-the-physical-environment-platforms-a-and-b">设置物理环境(平台 A 和 B</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#run-l3fwd-application-platform-b">运行 l3fwd 应用程序(平台 B</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#run-pktgen-application-platform-a">运行 pktgen 应用程序(平台 A</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#appendix-a-use-pass-through-for-virtual-machines">附录 A为虚拟机使用直通</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/ipxe-install.html">使用 iPXE 通过网络安装</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/ipxe-install.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/ipxe-install.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/ipxe-install.html#configuration">配置</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/network-bonding.html">使用网络捆绑聚合多个接口</a></li>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/openssh-server.html">启用并配置 SSH 服务</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/openssh-server.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/openssh-server.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/openssh-server.html#change-default-port">更改默认端口</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/openssh-server.html#enable-sftp">启用 SFTP</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/openssh-server.html#enable-root-login">启用 root 登录</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/openssh-server.html#enable-x11-forwarding">启用 X11 转发</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/vnc.html">使用 VNC 通过远程桌面连接到主机</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#install-the-vnc-server-and-misc-components-on-your-host">在主机上安装 VNC 服务器和其他组件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#configure-a-vnc-server-start-method-on-your-host">在主机上配置 VNC-server-start 方法</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#install-a-vnc-viewer-app-and-an-ssh-client-on-your-client-system">在客户端系统上安装一个 VNC 查看器应用程序和一个 SSH 客户端</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#establish-a-vnc-connection-to-your-host">与主机建立 VNC 连接</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#terminate-a-vnc-connection-to-your-host">终止与主机的 VNC 连接</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#encrypt-vnc-traffic-through-an-ssh-tunnel">通过 SSH 隧道加密 VNC 流量</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../guides/index.html#kernel">内核</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/kernel/kernel-development.html">内核开发</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#request-changes-be-included-with-the-cl-kernel">Clear Linux OS 内核中包含了请求变更</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#set-up-kernel-development-environment">设置内核开发环境</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#customize-the-linux-kernel-source">自定义 Linux 内核源代码</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#build-and-install-the-kernel">构建并安装内核</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/kernel/kernel-modules.html">手动添加内核模块</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#kernel-module-availability">内核模块可用性</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#build-install-and-load-an-out-of-tree-module">构建、安装和加载树外模块</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#related-topic">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html">使用 DKMS 添加内核模块</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#description">描述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#kernel-module-availability">内核模块可用性</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#install-dkms">安装 DKMS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#build-install-and-load-an-out-of-tree-module">构建、安装和加载树外模块</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#examples">示例</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#related-topics">相关主题</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../guides/index.html#stacks">堆栈</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/stacks/dars.html">数据分析参考堆栈</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dars.html#the-data-analytics-reference-stack-release">数据分析参考堆栈版本</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dars.html#using-the-docker-images">使用 Docker 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dars.html#building-dars-images">构建 DARS 映像</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/stacks/greengrass.html">启用 AWS Greengrass* 和 OpenVINO™ 工具包</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#supported-platforms">支持的平台</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#install-the-os-on-the-edge-device">在边缘设备上安装操作系统</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#configure-aws-greengrass-group">配置 AWS Greengrass 组</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#create-and-package-lambda-function">创建并打包 Lambda 函数</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#configure-lambda-function">配置 Lambda 函数</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#deploy-lambda-function">部署 Lambda 函数</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#references">参考</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html">深度学习参考堆栈</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#tensorflow-single-and-multi-node-benchmarks">TensorFlow 单节点和多节点基准测试</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#pytorch-single-and-multi-node-benchmarks">PyTorch 单节点和多节点基准测试</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#kubeflow-multi-node-benchmarks">Kubeflow 多节点基准测试</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#use-jupyter-notebook">使用 Jupyter Notebook</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#uninstallation">卸载</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#related-topics">相关主题</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Tutorials</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="apache-hadoop.html">Apache* Hadoop*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="apache-hadoop.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache-hadoop.html#install-apache-hadoop">Install Apache Hadoop</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache-hadoop.html#configure-apache-hadoop">Configure Apache Hadoop</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache-hadoop.html#configure-your-ssh-key">Configure your SSH key</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache-hadoop.html#run-the-hadoop-daemons">Run the Hadoop daemons</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache-hadoop.html#run-the-mapreduce-wordcount-example">Run the MapReduce wordcount example</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="apache-spark.html">Apache* Spark*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="apache-spark.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache-spark.html#install-apache-spark">Install Apache Spark</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache-spark.html#configure-apache-spark">Configure Apache Spark</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache-spark.html#start-the-master-server-and-a-worker-daemon">Start the master server and a worker daemon</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache-spark.html#run-the-spark-wordcount-example">Run the Spark wordcount example</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dlrs.html">Deep Learning Reference Stack</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#overview">Overview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#stack-features">Stack features</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#version-compatibility">Version compatibility</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#tensorflow-single-and-multi-node-benchmarks">TensorFlow single and multi-node benchmarks</a></li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#pytorch-single-and-multi-node-benchmarks">PyTorch single and multi-node benchmarks</a></li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#kubeflow-multi-node-benchmarks">Kubeflow multi-node benchmarks</a><ul>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#kubernetes-setup">Kubernetes setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#kubernetes-networking">Kubernetes networking</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#kubectl">Kubectl</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#images">Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#ksonnet">ksonnet*</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#kubeflow">Kubeflow</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#run-a-tfjob">Run a TFJob</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#results-of-running-this-section">Results of running this section</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#tensorflow-training-tfjob-with-kubeflow-and-dlrs">TensorFlow Training (TFJob) with Kubeflow and DLRS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#submitting-tfjobs">Submitting TFJobs</a></li>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#customizing-a-tfjob">Customizing a TFJob</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#pytorch-training-pytorch-job-with-kubeflow-and-dlrs">PyTorch Training (PyTorch Job) with Kubeflow and DLRS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#submitting-pytorch-jobs">Submitting PyTorch Jobs</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#using-kubeflow-seldon-and-openvino-with-the-deep-learning-reference-stack">Using Kubeflow Seldon and OpenVINO* with the Deep Learning Reference Stack</a><ul>
<li class="toctree-l4"><a class="reference internal" href="dlrs.html#pre-requisites">Pre-requisites</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#using-the-intel-openvino-model-optimizer">Using the Intel® OpenVINO Model Optimizer</a></li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#using-the-openvino-inference-engine">Using the OpenVino Inference Engine</a></li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#use-jupyter-notebook">Use Jupyter Notebook</a></li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#uninstallation">Uninstallation</a></li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#compiling-aixprt-with-openmp-on-dlrs">Compiling AIXPRT with OpenMP on DLRS</a></li>
<li class="toctree-l3"><a class="reference internal" href="dlrs.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="docker.html">Docker*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="docker.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker.html#install-the-containers-basic-bundle">Install the containers-basic bundle</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker.html#integration-with-kata-containers-optional">Integration with Kata Containers* (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker.html#additional-docker-configuration">Additional Docker configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker.html#pulling-and-running-an-image-from-docker-hub">Pulling and running an image from Docker Hub</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker.html#creating-a-docker-swarm-cluster">Creating a Docker swarm cluster</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="flatpak.html">Flatpak*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="flatpak.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="flatpak.html#install-a-flatpak-app-with-gnome-software">Install a Flatpak app with Gnome Software</a></li>
<li class="toctree-l3"><a class="reference internal" href="flatpak.html#install-a-flatpak-with-the-command-line">Install a Flatpak with the command line</a></li>
</ul>
</li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Function multi-versioning</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#install-and-configure-a-cl-host-on-bare-metal">Install and configure a Clear Linux OS host on bare metal</a></li>
<li class="toctree-l3"><a class="reference internal" href="#detect-loop-vectorization-candidates">Detect loop vectorization candidates</a></li>
<li class="toctree-l3"><a class="reference internal" href="#generate-the-fmv-patch">Generate the FMV patch</a></li>
<li class="toctree-l3"><a class="reference internal" href="#fft-project-example-using-fftw">FFT project example using FFTW</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="kata.html">Kata Containers*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="kata.html#description">Description</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata.html#install-kata-containers">Install Kata Containers</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata.html#run-kata-containers">Run Kata Containers</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata.html#more-information-about-docker">More information about Docker</a><ul>
<li class="toctree-l4"><a class="reference internal" href="kata.html#troubleshooting">Troubleshooting</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="kubernetes.html">Kubernetes*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#description">Description</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#install-kubernetes-and-cri-runtimes">Install Kubernetes and CRI runtimes</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#configure-kubernetes">Configure Kubernetes</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#configure-and-run-kubernetes">Configure and run Kubernetes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="kubernetes.html#configure-and-run-cri-o-kata-runtime">Configure and run CRI-O + kata-runtime</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#install-pod-network-add-on">Install pod network add-on</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#use-your-cluster">Use your cluster</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#related-topics">Related topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#cloud-native-setup-automation">Cloud native setup automation</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#package-configuration-customization-optional">Package configuration customization (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#proxy-configuration-optional">Proxy configuration (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes.html#troubleshooting">Troubleshooting</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="kubernetes-bp.html">Kubernetes* Best Practices</a><ul>
<li class="toctree-l3"><a class="reference internal" href="kubernetes-bp.html#use-swupd-to-update-clusters">Use swupd to update clusters</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes-bp.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes-bp.html#update-the-control-plane">Update the control plane</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes-bp.html#update-worker-nodes">Update worker nodes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nvidia.html">NVIDIA* Drivers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#install-dkms">Install DKMS</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#download-and-install-the-nvidia-drivers">Download and install the NVIDIA drivers</a><ul>
<li class="toctree-l4"><a class="reference internal" href="nvidia.html#download-the-nvidia-drivers-for-linux">Download the NVIDIA drivers for Linux</a></li>
<li class="toctree-l4"><a class="reference internal" href="nvidia.html#disable-the-nouveau-driver">Disable the nouveau driver</a></li>
<li class="toctree-l4"><a class="reference internal" href="nvidia.html#configure-alternative-software-paths">Configure alternative software paths</a></li>
<li class="toctree-l4"><a class="reference internal" href="nvidia.html#install-the-nvidia-drivers">Install the NVIDIA drivers</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#updating-the-nvidia-drivers">Updating the NVIDIA drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#uninstalling-the-nvidia-drivers">Uninstalling the NVIDIA drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#debugging-installation-of-nvidia-drivers">Debugging installation of NVIDIA drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#additional-resources">Additional resources</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nvidia-cuda.html">NVIDIA* CUDA Toolkit</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nvidia-cuda.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia-cuda.html#compatibility">Compatibility</a><ul>
<li class="toctree-l4"><a class="reference internal" href="nvidia-cuda.html#check-compatibility-of-nvidia-components">Check compatibility of NVIDIA components</a></li>
<li class="toctree-l4"><a class="reference internal" href="nvidia-cuda.html#check-gcc-compatibility">Check GCC compatibility</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="nvidia-cuda.html#downloading-and-installation">Downloading and Installation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="nvidia-cuda.html#download-the-nvidia-cuda-toolkit">Download the NVIDIA CUDA Toolkit</a></li>
<li class="toctree-l4"><a class="reference internal" href="nvidia-cuda.html#install-the-nvidia-cuda-toolkit">Install the NVIDIA CUDA Toolkit</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="nvidia-cuda.html#using-the-nvidia-cuda-toolkit">Using the NVIDIA CUDA Toolkit</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia-cuda.html#uninstalling">Uninstalling</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia-cuda.html#debugging">Debugging</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia-cuda.html#additional-resources">Additional resources</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="parallels.html">Parallels* Desktop for Mac*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="parallels.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="parallels.html#download-iso-image">Download ISO image</a></li>
<li class="toctree-l3"><a class="reference internal" href="parallels.html#initialize-new-vm">Initialize new VM</a></li>
<li class="toctree-l3"><a class="reference internal" href="parallels.html#install-cl-on-vm">Install Clear Linux OS on VM</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="proxy.html">Proxy configuration</a><ul>
<li class="toctree-l3"><a class="reference internal" href="proxy.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="proxy.html#shells-and-programs-in-a-desktop-session">Shells and programs in a desktop session</a><ul>
<li class="toctree-l4"><a class="reference internal" href="proxy.html#terminal">Terminal</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="proxy.html#wget">wget</a></li>
<li class="toctree-l3"><a class="reference internal" href="proxy.html#system-service-docker">System service (Docker)</a></li>
<li class="toctree-l3"><a class="reference internal" href="proxy.html#git-over-ssh">git over ssh</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="redis.html">Redis*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="redis.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#install-the-redis-bundle">Install the redis bundle</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#start-the-redis-server">Start the redis-server</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#example-1-use-the-redis-cli-and-try-commands">Example 1: Use the redis-cli and try commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#example-2-run-the-cl-redis-docker-image">Example 2: Run the Clear Linux OS redis docker image</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#next-steps">Next Steps</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="smb.html">Samba* as a host</a><ul>
<li class="toctree-l3"><a class="reference internal" href="smb.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="smb.html#set-up-file-sharing">Set up file sharing</a></li>
<li class="toctree-l3"><a class="reference internal" href="smb.html#map-cl-drive-in-windows">Map Clear Linux OS drive in Windows</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="smb-desktop.html">Samba* as a client</a><ul>
<li class="toctree-l3"><a class="reference internal" href="smb-desktop.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="smb-desktop.html#connect-to-windows-shared-location-with-nautilus">Connect to Windows shared location with Nautilus</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="tensorflow-machine-learning.html">TensorFlow* machine learning</a><ul>
<li class="toctree-l3"><a class="reference internal" href="tensorflow-machine-learning.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="tensorflow-machine-learning.html#set-up-a-jupyter-notebook">Set up a Jupyter Notebook</a></li>
<li class="toctree-l3"><a class="reference internal" href="tensorflow-machine-learning.html#run-the-jupyter-machine-learning-example-code">Run the Jupyter machine learning example code</a></li>
<li class="toctree-l3"><a class="reference internal" href="tensorflow-machine-learning.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="wordpress.html">WordPress*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="wordpress/web-server-install.html">Set up a LAMP web server on Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#install-apache">Install Apache</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#change-the-default-configuration-and-data-directory">Change the default configuration and data directory</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#install-php">Install PHP</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#install-mariadb">Install MariaDB</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#install-phpmyadmin">Install phpMyAdmin</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#use-phpmyadmin-to-manage-a-database">Use phpMyAdmin to manage a database</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#next-steps">Next steps</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="wordpress/wp-install.html">Set up WordPress* on a LAMP web server</a><ul>
<li class="toctree-l4"><a class="reference internal" href="wordpress/wp-install.html#before-you-begin">Before you begin</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/wp-install.html#create-a-wordpress-server">Create a WordPress server</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="yubikey-u2f.html">YubiKey* Support</a><ul>
<li class="toctree-l3"><a class="reference internal" href="yubikey-u2f.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="yubikey-u2f.html#enable-linux-udev-rules-for-yubikey">Enable Linux udev rules for YubiKey</a></li>
<li class="toctree-l3"><a class="reference internal" href="yubikey-u2f.html#enable-u2f-in-mozilla-firefox">Enable U2F in Mozilla Firefox</a></li>
<li class="toctree-l3"><a class="reference internal" href="yubikey-u2f.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="index.html#archive">Archive</a><ul>
<li class="toctree-l3"><a class="reference internal" href="archive/kata_migration.html">Migrate Clear Containers to Kata Containers*</a><ul>
<li class="toctree-l4"><a class="reference internal" href="archive/kata_migration.html#stop-clear-containers-instances">Stop Clear Containers instances</a></li>
<li class="toctree-l4"><a class="reference internal" href="archive/kata_migration.html#manually-migrate-customized-configuration-files">Manually migrate customized configuration files</a></li>
<li class="toctree-l4"><a class="reference internal" href="archive/kata_migration.html#enable-kata-containers-as-default">Enable Kata Containers as default</a></li>
<li class="toctree-l4"><a class="reference internal" href="archive/kata_migration.html#run-kata-containers">Run Kata Containers</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/compatible-hardware.html">Compatible Hardware</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/bundles/bundles.html">可用的捆绑包</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/bundles.html#bundle-list">捆绑包列表</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/collaboration/collaboration.html">Documentation guidelines</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/collaboration/collaboration.html#contribution-guidelines">Contribution guidelines</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../reference/collaboration/writing-guide.html">Writing guide: Describes the style we use to keep our documents clear and concise.</a></li>
<li class="toctree-l4"><a class="reference internal" href="../reference/collaboration/structure-formatting.html">Structure and formatting guide: Explains how we organize and format content, using reStructuredText and Sphinx.</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../reference/collaboration/collaboration.html#how-to-contribute">How to contribute</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/collaboration/collaboration.html#contribute-via-github">Contribute via GitHub</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/collaboration/collaboration.html#references">References</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/system-requirements.html">建议的最低系统要求</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/system-requirements.html#installer-requirements">安装程序要求</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/system-requirements.html#id1">系统要求</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/system-requirements.html#recommended-configurations">建议配置</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/image-types.html">Clear Linux* OS image types</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../FAQ/index.html">FAQ</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../FAQ/index.html#general">General</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#why-did-you-make-another-distro">Why did you make another distro?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#can-other-distros-copy-cl-improvements">Can other distros copy Clear Linux OS improvements?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#how-often-do-you-update">How often do you update?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#is-telemetry-required">Is telemetry required?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#what-is-the-default-firewall">What is the default firewall?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#where-are-the-files-that-i-usually-see-under-etc-like-fstab">Where are the files that I usually see under /etc like fstab?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../FAQ/index.html#software-packages">Software packages</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#how-is-software-installed-and-updated">How is software installed and updated?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#does-cl-use-rpms-like-other-distros">Does Clear Linux OS use RPMs like other distros?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#can-i-install-a-software-package-from-another-os-on-cl">Can I install a software package from another OS on Clear Linux OS?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../FAQ/index.html#software-availability">Software availability</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#what-software-is-available-on-cl">What software is available on Clear Linux OS?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#is-google-chrome-available">Is Google* Chrome* available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#is-microsoft-visual-studio-code-available">Is Microsoft* Visual Studio Code* available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#is-ffmpeg-available">Is FFmpeg available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#is-zfs-available">Is ZFS* available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/index.html#can-you-add-a-driver-that-i-need">Can you add a driver that I need?</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">Clear Linux* Project Docs</a>
</nav>
<div class="wy-nav-content">
<header id="header">
<div class="padding-md--left-right">
<div class="header__site_info">
<div class="header__site_info_name">
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item yellow ">
<a tabindex='1' href="https://clearlinux.org">Home</a>
</li>
<li class="header__menu_list_item green ">
<a tabindex='1' href="https://clearlinux.org/about">About</a>
</li>
<li class="header__menu_list_item purple ">
<a tabindex='1' href="https://clearlinux.org/developer">Developer</a>
</li>
<li class="header__menu_list_item blue ">
<a tabindex='1' href="https://clearlinux.org/software">Software</a>
</li>
</ul>
</nav>
</div>
</header>
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html">Docs</a> &raquo;</li>
<li><a href="index.html">Tutorials</a> &raquo;</li>
<li>Function multi-versioning</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/clearlinux/clear-linux-documentation/blob/master/source/tutorials/fmv.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="function-multi-versioning">
<span id="fmv"></span><h1>Function multi-versioning<a class="headerlink" href="#function-multi-versioning" title="永久链接至标题"></a></h1>
<p>CPU architectures often gain interesting new instructions as they evolve but
application developers find it difficult to take advantage of those
instructions. The reluctance to lose backward-compatibility is one of the
main roadblocks slowing developers from using advancements in newer computing
architectures. <abbr title="Function Multi-Versioning">FMV</abbr>, which first appeared
in <a class="reference external" href="https://gcc.gnu.org">GCC</a> 4.8, is a way to have multiple implementations of a function, each
using a different architecture specialized instruction-set extensions. GCC
6 introduces changes to FMV to make it even easier to bring architecture-
based optimizations to the application code.</p>
<p>In this tutorial we will use FMV on general code and on
<abbr title="Fast Fourier Transform">FFT</abbr> library code (FFTW). Upon completing the
tutorial, you will be able to use this technology on your code and use the
libraries to deploy architecture-based optimizations to your application code.</p>
<div class="section" id="install-and-configure-a-cl-host-on-bare-metal">
<h2>Install and configure a Clear Linux OS host on bare metal<a class="headerlink" href="#install-and-configure-a-cl-host-on-bare-metal" title="永久链接至标题"></a></h2>
<p>First, follow our guide to <a class="reference internal" href="../get-started/bare-metal-install-desktop.html#bare-metal-install-desktop"><span class="std std-ref">从实时桌面安装 Clear Linux* OS</span></a>. Once the bare
metal installation and initial configuration are complete, add the
<cite>desktop-dev</cite> bundle to the system. <cite>desktop-dev</cite>: contains the necessary
development tools like GCC and Perl*.</p>
<p>To install the bundles, run the following command in the <code class="file docutils literal notranslate"><span class="pre">$HOME</span></code>
directory:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo swupd bundle-add desktop-dev
</pre></div>
</div>
</div>
<div class="section" id="detect-loop-vectorization-candidates">
<h2>Detect loop vectorization candidates<a class="headerlink" href="#detect-loop-vectorization-candidates" title="永久链接至标题"></a></h2>
<p>Now, we need to detect the loop vectorization candidates to be cloned for
multiple platforms with FMV. As an example, we will use the following
simple C code:</p>
<div class="highlight-c notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21</pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">&lt;sys/time.h&gt;</span><span class="cp"></span>
<span class="cp">#define MAX 1000000</span>
<span class="kt">int</span> <span class="n">a</span><span class="p">[</span><span class="mi">256</span><span class="p">],</span> <span class="n">b</span><span class="p">[</span><span class="mi">256</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="mi">256</span><span class="p">];</span>
<span class="kt">void</span> <span class="nf">foo</span><span class="p">(){</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">x</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">x</span><span class="o">&lt;</span><span class="n">MAX</span><span class="p">;</span> <span class="n">x</span><span class="o">++</span><span class="p">){</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o">&lt;</span><span class="mi">256</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span>
<span class="n">a</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">c</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">(){</span>
<span class="n">foo</span><span class="p">();</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</td></tr></table></div>
<p>Save the example code as <code class="file docutils literal notranslate"><span class="pre">example.c</span></code> in the current directory and build
with the following flags:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gcc -O3 -fopt-info-vec example.c -o example
</pre></div>
</div>
<p>The build generates the following output:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">example.c:11:9: note: loop vectorized</span>
<span class="go">example.c:11:9: note: loop vectorized</span>
</pre></div>
</div>
<p>The output shows that line 11 is a good candidate for vectorization:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">for</span> <span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o">&lt;</span><span class="mi">256</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span>
<span class="n">a</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">c</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
</pre></div>
</div>
</div>
<div class="section" id="generate-the-fmv-patch">
<h2>Generate the FMV patch<a class="headerlink" href="#generate-the-fmv-patch" title="永久链接至标题"></a></h2>
<p>To generate the FMV patch with the <a class="reference external" href="https://github.com/clearlinux/make-fmv-patch">make-fmv-patch</a> project, we
must clone the project and generate a log file with the loop vectorized
information:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/clearlinux/make-fmv-patch.git
gcc -O3 -fopt-info-vec example.c -o example <span class="p">&amp;</span>&gt; log
</pre></div>
</div>
<p>To generate the patch files, execute:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>perl ./make-fmv-patch/make-fmv-patch.pl log .
</pre></div>
</div>
<p>The <code class="file docutils literal notranslate"><span class="pre">make-fmv-patch.pl</span></code> script takes two arguments: <cite>&lt;buildlog&gt;</cite> and
<cite>&lt;sourcecode&gt;</cite>. Replace <cite>&lt;buildlog&gt;</cite> and <cite>&lt;sourcecode&gt;</cite> with the proper
values and execute:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>perl make-fmv-patch.pl &lt;buildlog&gt; &lt;sourcecode&gt;
</pre></div>
</div>
<p>The command generates the following <code class="file docutils literal notranslate"><span class="pre">example.c.patch</span></code> patch:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">--- ./example.c 2017-09-27 16:05:42.279505430 +0000</span>
<span class="go">+++ ./example.c~ 2017-09-27 16:19:11.691544026 +0000</span>
<span class="go">@@ -5,6 +5,7 @@</span>
<span class="go"> int a[256], b[256], c[256];</span>
<span class="go">+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))</span>
<span class="go"> void foo(){</span>
<span class="go"> int i,x;</span>
<span class="go"> for (x=0; x&lt;MAX; x++){</span>
</pre></div>
</div>
<p>We recommend you use the <code class="file docutils literal notranslate"><span class="pre">make-fmv-patch</span></code> script to add the attribute
generating the target clones on the function <cite>foo</cite>. Thus, we can have the
following code:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">&lt;sys/time.h&gt;</span><span class="cp"></span>
<span class="cp">#define MAX 1000000</span>
<span class="kt">int</span> <span class="n">a</span><span class="p">[</span><span class="mi">256</span><span class="p">],</span> <span class="n">b</span><span class="p">[</span><span class="mi">256</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="mi">256</span><span class="p">];</span>
<span class="n">__attribute__</span><span class="p">((</span><span class="n">target_clones</span><span class="p">(</span><span class="s">&quot;avx2&quot;</span><span class="p">,</span><span class="s">&quot;arch=atom&quot;</span><span class="p">,</span><span class="s">&quot;default&quot;</span><span class="p">)))</span>
<span class="kt">void</span> <span class="n">foo</span><span class="p">(){</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">x</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">x</span><span class="o">&lt;</span><span class="n">MAX</span><span class="p">;</span> <span class="n">x</span><span class="o">++</span><span class="p">){</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o">&lt;</span><span class="mi">256</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span>
<span class="n">a</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">c</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="n">main</span><span class="p">(){</span>
<span class="n">foo</span><span class="p">();</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
<p>Changing the value of the <cite>$avx2</cite> variable, we can change the target
clones when adding the patches or in the <code class="file docutils literal notranslate"><span class="pre">make-fmv-patch.pl</span></code> script:</p>
<div class="highlight-perl notranslate"><div class="highlight"><pre><span></span><span class="k">my</span> <span class="nv">$avx2</span> <span class="o">=</span> <span class="s">&#39;__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))&#39;</span><span class="o">.</span><span class="s">&quot;\n&quot;</span><span class="p">;</span>
</pre></div>
</div>
<p>Compile the code again with FMV and add the option to analyze the <cite>objdump</cite>
log:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gcc -O3 example.c -o example -g
objdump -S example <span class="p">|</span> less
</pre></div>
</div>
<p>You can see the multiple clones of the <cite>foo</cite> function:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">foo</span>
<span class="go">foo.avx2.0</span>
<span class="go">foo.arch_atom.1</span>
</pre></div>
</div>
<p>The cloned functions use AVX2 registers and vectorized instructions. To
verify, enter the following commands:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">vpaddd</span> <span class="p">(</span><span class="o">%</span><span class="n">r8</span><span class="p">,</span><span class="o">%</span><span class="n">rax</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="o">%</span><span class="n">ymm0</span><span class="p">,</span><span class="o">%</span><span class="n">ymm0</span>
<span class="n">vmovdqu</span> <span class="o">%</span><span class="n">ymm0</span><span class="p">,(</span><span class="o">%</span><span class="n">rcx</span><span class="p">,</span><span class="o">%</span><span class="n">rax</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="section" id="fft-project-example-using-fftw">
<h2>FFT project example using FFTW<a class="headerlink" href="#fft-project-example-using-fftw" title="永久链接至标题"></a></h2>
<p>To follow the same approach with a package like FFTW, we must use the
<cite>-fopt-info-vec</cite> flag to get a build log file similar to:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>~/make-fmv-patch/make-fmv-patch.pl results/build.log fftw-3.3.6-pl2/
patching fftw-3.3.6-pl2/libbench2/verify-lib.c @ lines <span class="o">(</span><span class="m">36</span> <span class="m">114</span> <span class="m">151</span> <span class="m">162</span> <span class="m">173</span> <span class="m">195</span> <span class="m">215</span> <span class="m">284</span><span class="o">)</span>
patching fftw-3.3.6-pl2/tools/fftw-wisdom.c @ lines <span class="o">(</span><span class="m">150</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/speed.c @ lines <span class="o">(</span><span class="m">26</span><span class="o">)</span>
patching fftw-3.3.6-pl2/tests/bench.c @ lines <span class="o">(</span><span class="m">27</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/util.c @ lines <span class="o">(</span><span class="m">181</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/problem.c @ lines <span class="o">(</span><span class="m">229</span><span class="o">)</span>
patching fftw-3.3.6-pl2/tests/fftw-bench.c @ lines <span class="o">(</span><span class="m">101</span> <span class="m">147</span> <span class="m">162</span> <span class="m">249</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/mp.c @ lines <span class="o">(</span><span class="m">79</span> <span class="m">190</span> <span class="m">215</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/caset.c @ lines <span class="o">(</span><span class="m">5</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/verify-r2r.c @ lines <span class="o">(</span><span class="m">44</span> <span class="m">187</span> <span class="m">197</span> <span class="m">207</span> <span class="m">316</span> <span class="m">333</span> <span class="m">723</span><span class="o">)</span>
</pre></div>
</div>
<p>For example, the <code class="file docutils literal notranslate"><span class="pre">fftw-3.3.6-pl2/tools/fftw-wisdom.c.patch</span></code> file
generates the following patches:</p>
<div class="highlight-diff notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45</pre></div></td><td class="code"><div class="highlight"><pre><span></span> --- fftw-3.3.6-pl2/libbench2/verify-lib.c 2017-01-27 21:08:13.000000000 +0000
+++ fftw-3.3.6-pl2/libbench2/verify-lib.c~ 2017-09-27 17:49:21.913802006 +0000
@@ -33,6 +33,7 @@
double dmax(double x, double y) { return (x &gt; y) ? x : y; }
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
static double aerror(C *a, C *b, int n)
{
if (n &gt; 0) {
@@ -111,6 +112,7 @@
}
/* make array hermitian */
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
void mkhermitian(C *A, int rank, const bench_iodim *dim, int stride)
{
if (rank == 0)
@@ -148,6 +150,7 @@
}
/* C = A + B */
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
void aadd(C *c, C *a, C *b, int n)
{
int i;
@@ -159,6 +162,7 @@
}
/* C = A - B */
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
void asub(C *c, C *a, C *b, int n)
{
int i;
@@ -170,6 +174,7 @@
}
/* B = rotate left A (complex) */
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
void arol(C *b, C *a, int n, int nb, int na)
{
int i, ib, ia;
@@ -192,6 +197,7 @@
}
}
</pre></div>
</td></tr></table></div>
<p>With these patches, we can select where to apply the FMV technology making
bringing architecture-based optimizations to application code even easier.</p>
<p><strong>Congratulations!</strong></p>
<p>You have successfully installed an FMV development environment on Clear Linux OS.
Furthermore, you used cutting edge compiler technology to improve the
performance of your application based on Intel Architecture technology and
profiling of the specific execution of your application.</p>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="kata.html" class="btn btn-neutral float-right" title="Kata Containers*" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="flatpak.html" class="btn btn-neutral float-left" title="Flatpak*" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2019.
<span class="lastupdated">
最后更新于 1月 17, 2020.
</span>
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
<div id="trademarks">
<p>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
<script type="text/javascript" src="../_static/tcs_theme.js"></script>
</body>
</html>