mirror of
https://github.com/clearlinux/clear-linux-documentation.git
synced 2026-05-14 10:53:55 +00:00
1285 lines
98 KiB
HTML
1285 lines
98 KiB
HTML
|
||
|
||
<!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">
|
||
|
||
<title>Use the function multi-version patch generator — Documentation for Clear Linux* project</title>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<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="Create and launch Clear Linux* OS from Amazon Web Services" href="aws-web/aws-web.html" />
|
||
<link rel="prev" title="Set up a single node cluster with Hadoop*" href="hadoop.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" placeholder="Search docs" />
|
||
<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">Chinese</a></dd>
|
||
|
||
</dl>
|
||
<dl>
|
||
<dt>Document Versions</dt>
|
||
|
||
<dd><a href="/clearlinux/latest/tutorials/fmv.html">latest</a></dd>
|
||
|
||
<dd><a href="/clearlinux/L19.01/tutorials/fmv.html">L19.01</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/get-started.html">开始使用</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../get-started/get-started.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/bootable-usb.html">创建可引导 U 盘</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb/bootable-usb.html#prerequisites">必备条件</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb/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/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/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/get-started.html#install">安装</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html">Install Clear Linux* OS from the live desktop</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#system-requirements">System requirements</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#preliminary-steps">Preliminary steps</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#install-from-live-image">Install from live image</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#minimum-installation-requirements">Minimum installation requirements</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#cl-desktop-installer">Clear Linux OS Desktop Installer</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#navigation">Navigation</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#required-options">Required options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#advanced-options">Advanced options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#finish-installation">Finish installation</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html">Install Clear Linux* OS on bare metal with live server</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#system-requirements">System requirements</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#download-the-latest-cl-live-server-image">Download the latest Clear Linux OS live server image</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#install-cl-on-your-target-system">Install Clear Linux OS on your target system</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#launch-the-cl-installer">Launch the Clear Linux OS Installer</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#minimum-installation-requirements">Minimum installation requirements</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#main-menu">Main Menu</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#navigation">Navigation</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#required-options">Required options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#recommended-options">Recommended options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#advanced-options">Advanced options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#finish-installation">Finish installation</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#troubleshooting">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/get-started.html#install-in-a-virtual-machine">在虚拟机上安装</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/gce.html">在 Google Cloud Platform* 上启动 Clear Linux* OS Compute Engine</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/gce.html#prerequisites">必备条件</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-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/virtual-machine-install/gce.html#related-topics">相关主题</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html">使用 Hyper-V*</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">运行 Clear Linux* OS,用作 KVM 来宾操作系统</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">安装 Clear Linux* OS 用作 Vmware* Workstation Player 来宾操作系统</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#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#enable-uefi-boot-support">启用 UEFI 引导支持</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">运行预配置的 Clear Linux* OS 映像,用作 VMware* Workstation Player 来宾操作系统</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#image-types">映像类型</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">安装 Clear Linux* OS,用作 VMware* ESXi 来宾操作系统</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">Run preconfigured Clear Linux* OS image as a VMware* ESXi guest 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>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../about.html">About</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../about.html#training">Training</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../guides/guides.html">Guides</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.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">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autoproxy.html#how-it-works">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">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#how-it-works">How it works</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#examples">Examples</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#test-packaged-software">Test packaged software</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#references">References</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/compatible-kernels.html">Kernels</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/compatible-kernels.html#bare-metal-only">Bare metal only</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/compatible-kernels.html#also-compatible-with-vms">Also compatible with VMs</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/compatible-kernels.html#vm-only">VM only</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/debug.html">Debug system</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/debug.html#background">Background</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/debug.html#usage">Usage</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/debug.html#implementation">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">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/ister.html#examples">Examples</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/ister.html#related-topics">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">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#how-it-works">How it works</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#examples">Examples</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#references">References</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/security.html">OS Security</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-updates">Security in updates</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-software">Security in software</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-system-design">Security in system design</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/stateless.html">Stateless</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#file-level-separation">File-level separation</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#software-configuration">Software configuration</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#system-reset">System reset</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#additional-information">Additional information</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/swupd-guide.html">swupd</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#how-it-works">How it works</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#examples">Examples</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#quick-reference">Quick reference</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/telemetrics/telem-guide.html">Telemetrics</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/telemetrics/telem-guide.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/telemetrics/telem-guide.html#how-to-use">How to use</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/telemetrics/telem-guide.html#examples">Examples</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/telemetrics/telem-guide.html#reference">Reference</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.html#maintenance">Maintenance</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html">Architect the life-cycle of Clear Linux* OS</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#content-workflow">Content Workflow</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#release-workflow">Release Workflow</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#implementation">Implementation</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html">Assign a static IP address</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html#identify-which-program-is-managing-the-interface">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">Using NetworkManager</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html#using-systemd-networkd">Using systemd-networkd</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/bulk-provision.html">Bulk provision</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/bulk-provision.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/bulk-provision.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/bulk-provision.html#configuration">Configuration</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/cpu-performance.html">CPU Power and Performance</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#cpu-power-saving-mechanisms">CPU power saving mechanisms</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#linux-cpu-clock-frequency-scaling">Linux CPU clock frequency scaling</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#thermal-management">Thermal management</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/developer-workstation.html">Developer Workstation</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/developer-workstation.html#workstation-setup">Workstation Setup</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/developer-workstation.html#swupd-search">swupd search</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/developer-workstation.html#core-concepts">Core Concepts</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html">Download, verify, and decompress a Clear Linux* OS image</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#linux-os-steps">Linux OS steps</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#macos-steps">macOS* steps</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#windows-os-steps">Windows* OS steps</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#image-types">Image types</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/enable-user-space.html">Create and enable a new user space</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#create-a-new-user">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">Add the new user to the <em>wheel</em> group</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">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">Add a bundle</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#next-steps">Next steps</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html">Fix a broken installation</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#prerequisites">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">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">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">Mount root partition, verify, and fix</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/hostname.html">Modify hostname</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/hostname.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/hostname.html#set-your-hostname">Set your hostname</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/hostname.html#view-your-hostname">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">Query package info from upstream repository</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#configure-dnf">Configure DNF</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#dnf-command-usage-examples">DNF command usage examples</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/resource-limits.html">Resource limits</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/resource-limits.html#system-wide-limits">System-wide limits</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/resource-limits.html#per-user-limits">Per-user limits</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/resource-limits.html#service-limits">Service limits</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/restart.html">Restart system services after an OS update</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#how-it-works">How it works</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#basic-options">Basic options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#monitor-options">Monitor options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#example">Example</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#telemetry">Telemetry</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#conclusion">Conclusion</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/time.html">Set the time</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/validate-signatures.html">Validate signatures</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/validate-signatures.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/validate-signatures.html#image-content-validation">Image content validation</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/validate-signatures.html#update-content-validation">Update content validation</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/deploy-at-scale.html">Deploy at Scale</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/deploy-at-scale.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/deploy-at-scale.html#pick-a-usage-and-update-strategy">Pick a usage and update strategy</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/deploy-at-scale.html#pick-an-image-distribution-strategy">Pick an image distribution strategy</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/deploy-at-scale.html#considerations-with-stateless-systems">Considerations with stateless systems</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.html#network">Network</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/network/custom-clear-container.html">Build a custom Clear Linux* OS based Docker container image</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/custom-clear-container.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/custom-clear-container.html#build-the-base-container-image">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">Manage bundles in a container</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/network/dpdk.html">Use DPDK to send packets between platforms</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#install-dpdk-and-build-l3fwd-example-platform-b">Install dpdk and build l3fwd example (Platform B)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#build-pktgen-platform-a">Build pktgen (Platform 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">Bind NICs to DPDK kernel drivers (Platforms A and B)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#set-hugepages-platforms-a-and-b">Set hugepages (Platforms A and 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">Set up the physical environment (Platforms A and B)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#run-l3fwd-application-platform-b">Run l3fwd application (Platform B)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#run-pktgen-application-platform-a">Run pktgen application (Platform A)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#appendix-a-use-pass-through-for-virtual-machines">Appendix A: Use pass-through for virtual machines</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/network/ipxe-install.html">Install over the network with iPXE</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/ipxe-install.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/ipxe-install.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/ipxe-install.html#configuration">Configuration</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/network/network-bonding.html">Combine multiple interfaces with network bonding</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/network/vnc.html">Remote-desktop to a host using 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">Install the VNC server and misc. components on your host</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#configure-a-vnc-server-start-method-on-your-host">Configure a VNC-server-start method on your host</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">Install a VNC viewer app and an SSH client on your client system</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#establish-a-vnc-connection-to-your-host">Establish a VNC connection to your host</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#terminate-a-vnc-connection-to-your-host">Terminate a VNC connection to your host</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#encrypt-vnc-traffic-through-an-ssh-tunnel">Encrypt VNC traffic through an SSH tunnel</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.html#kernel">Kernel</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/kernel/kernel-development.html">Kernel development</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#overview">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">Request changes be included with the Clear Linux OS kernel</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#set-up-kernel-development-environment">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">Customize the Linux kernel source</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#build-and-install-the-kernel">Build and install the kernel</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/kernel/kernel-modules.html">Add kernel modules manually</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#kernel-module-availability">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">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">Examples</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#related-topic">Related topic</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html">Add kernel modules with DKMS</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#kernel-module-availability">Kernel module availability</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#install-dkms">Install 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">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">Examples</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.html#stacks">Stacks</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/stacks/dars.html">Data Analytics Reference Stack</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dars.html#the-data-analytics-reference-stack-release">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">Using the Docker images</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dars.html#building-dars-images">Building DARS images</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/stacks/greengrass.html">Enable AWS Greengrass* and OpenVINO™ toolkit</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#supported-platforms">Supported platforms</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#install-the-os-on-the-edge-device">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">Configure AWS Greengrass group</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#create-and-package-lambda-function">Create and package Lambda function</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#configure-lambda-function">Configure Lambda function</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#deploy-lambda-function">Deploy Lambda function</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#references">References</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html">Deep Learning Reference Stack</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#tensorflow-single-and-multi-node-benchmarks">TensorFlow single and multi-node benchmarks</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#pytorch-single-and-multi-node-benchmarks">PyTorch single and multi-node benchmarks</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#kubeflow-multi-node-benchmarks">Kubeflow multi-node benchmarks</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#use-jupyter-notebook">Use Jupyter Notebook</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#uninstallation">Uninstallation</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1 current"><a class="reference internal" href="tutorials.html">Tutorials</a><ul class="current">
|
||
<li class="toctree-l2"><a class="reference internal" href="wordpress/wordpress.html">WordPress* on Clear Linux* OS</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="flatpak/flatpak.html">Use Flatpak* to install applications on Clear Linux* OS</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="flatpak/flatpak.html#before-you-begin">Before you begin</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="flatpak/flatpak.html#install-flatpak-on-your-host-system">Install Flatpak on your host system</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="flatpak/flatpak.html#install-and-run-the-libreoffice-flatpak-image">Install and run the LibreOffice Flatpak image</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="flatpak/flatpak.html#launch-libreoffice">Launch LibreOffice</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="machine-learning/machine-learning.html">TensorFlow* machine learning on Clear Linux* OS</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="machine-learning/machine-learning.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="machine-learning/machine-learning.html#set-up-a-jupyter-notebook">Set up a Jupyter notebook</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="machine-learning/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="machine-learning/machine-learning.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="docker/docker.html">Run Docker* on Clear Linux* OS</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#install-the-containers-basic-bundle">Install the containers-basic bundle</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#integration-with-kata-containers-optional">Integration with Kata Containers* (optional)</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#additional-docker-configuration">Additional Docker configuration</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="docker/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/docker.html#creating-a-docker-swarm-cluster">Creating a Docker swarm cluster</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="azure.html">Run Clear Linux* OS using Microsoft Azure CLI 2.0</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="azure.html#install-ms-azure-cli-2-0-on-cl">Install MS Azure CLI 2.0 on Clear Linux OS</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="azure.html#log-into-your-microsoft-azure-account">Log into your Microsoft Azure account</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="azure.html#create-a-ms-azure-resource-group">Create a MS Azure resource group</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="azure.html#create-and-log-into-the-cl-virtual-machine">Create and log into the Clear Linux OS virtual machine</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="azure.html#stop-and-deallocate-the-cl-vm-and-resources">Stop and deallocate the Clear Linux OS VM and resources</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="azure.html#next-steps">Next steps</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="hadoop.html">Set up a single node cluster with Hadoop*</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#install-apache-hadoop">Install Apache Hadoop</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#configure-apache-hadoop">Configure Apache Hadoop</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#configure-your-ssh-key">Configure your SSH key</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#run-the-hadoop-daemons">Run the Hadoop daemons</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#run-the-mapreduce-wordcount-example">Run the MapReduce wordcount example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2 current"><a class="current reference internal" href="#">Use the function multi-version patch generator</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="aws-web/aws-web.html">Create and launch Clear Linux* OS from Amazon Web Services</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#locate-select-and-launch-the-cl-basic-ami">Locate, select, and launch the Clear Linux OS Basic AMI</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#connect-to-your-clear-linux-os-basic-instance">Connect to your Clear Linux OS Basic instance</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#update-the-cl-instance">Update the Clear Linux OS instance</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#stop-the-cl-instance">Stop the Clear Linux OS instance</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="smb/smb.html">Enable simple file sharing with a Windows* machine using Samba*</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="smb/smb.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="smb/smb.html#set-up-file-sharing">Set up file sharing</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="smb/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/smb-desktop.html">Connect to Windows* shared location from Clear Linux* OS desktop</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="smb/smb-desktop.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="smb/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="spark.html">Set up a standalone cluster system using Apache* Spark*</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="spark.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="spark.html#install-apache-spark">Install Apache Spark</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="spark.html#configure-apache-spark">Configure Apache Spark</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="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="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="kata.html">Install Kata Containers*</a><ul>
|
||
<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#id1">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="kata_migration.html">Migrate Clear Containers to Kata Containers*</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="kata_migration.html#stop-clear-containers-instances">Stop Clear Containers instances</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kata_migration.html#manually-migrate-customized-configuration-files">Manually migrate customized configuration files</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kata_migration.html#enable-kata-containers-as-default">Enable Kata Containers as default</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kata_migration.html#run-kata-containers">Run Kata Containers</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="kubernetes/kubernetes.html">Run Kubernetes*</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#install-kubernetes-and-cri-runtimes">Install Kubernetes and CRI runtimes</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#configure-kubernetes">Configure Kubernetes</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#configure-and-run-kubernetes">Configure and run Kubernetes</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="kubernetes/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/kubernetes.html#install-pod-network-add-on">Install pod network add-on</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#use-your-cluster">Use your cluster</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#related-topics">Related topics</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#cloud-native-setup-automation-optional">Cloud native setup automation (optional)</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#package-configuration-customization-optional">Package configuration customization (optional)</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#proxy-configuration-optional">Proxy configuration (optional)</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#next-steps">Next steps</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#troubleshooting">Troubleshooting</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="kubernetes/kubernetes-bp.html">Kubernetes Best Practices on Clear Linux OS</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/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/kubernetes-bp.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes-bp.html#update-the-control-plane">Update the control plane</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes-bp.html#update-worker-nodes">Update worker nodes</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="yubikey-u2f.html">Enable YubiKey U2F 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="nvidia.html">Install 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="redis.html">Run Redis on Clear Linux* OS</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="tutorial-proxy.html">Setting up proxy</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="tutorial-proxy.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="tutorial-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="tutorial-proxy.html#terminal">Terminal</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="tutorial-proxy.html#wget">wget</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="tutorial-proxy.html#system-service-docker">System service (Docker)</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="tutorial-proxy.html#git-over-ssh">git over ssh</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../reference/reference.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/bundle-commands.html">Useful bundle commands</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../reference/bundle-commands.html#additional-information">Additional information</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../reference/bundles/bundles.html">Available bundles</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/bundles.html#bundle-list">Bundle list</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../reference/bundles/openssh-server.html">openssh-server</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#change-default-port">Change default port</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#enable-sftp">Enable SFTP</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#enable-root-login">Enable root login</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#enable-x11-forwarding">Enable X11-forwarding</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>
|
||
<li class="toctree-l2"><a class="reference internal" href="../reference/reference.html#clear-linux-concepts">Clear Linux concepts</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../concepts/autospec-about.html">Autospec</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/autospec-about.html#how-autospec-works">How autospec works</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/autospec-about.html#control-files">Control files</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/autospec-about.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../concepts/bundles-about.html">Bundles</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/bundles-about.html#next-steps">Next steps</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../concepts/mixer-about.html">Mixer</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/mixer-about.html#create-a-mix">Create a mix</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/mixer-about.html#related-topics">Related topics</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../concepts/swupd-about.html">swupd: software updater</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/swupd-about.html#versioning">Versioning</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/swupd-about.html#updating">Updating</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/swupd-about.html#bundles">Bundles</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../concepts/telemetry-about.html">Telemetrics</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/telemetry-about.html#architecture">Architecture</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../concepts/telemetry-about.html#next-steps">Next steps</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/stateless.html">Stateless</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#file-level-separation">File-level separation</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#software-configuration">Software configuration</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#system-reset">System reset</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#additional-information">Additional information</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/security.html">OS Security</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-updates">Security in updates</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-software">Security in software</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-system-design">Security in system design</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../FAQ/faq.html">FAQ</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../FAQ/faq.html#general">General</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.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/faq.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/faq.html#how-often-do-you-update">How often do you update?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#is-telemetry-required">Is telemetry required?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#what-is-the-default-firewall">What is the default firewall?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.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/faq.html#software-packages">Software packages</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.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/faq.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/faq.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/faq.html#software-availability">Software availability</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.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/faq.html#is-google-chrome-available">Is Google* Chrome* available?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#is-ffmpeg-available">Is FFmpeg available?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#is-zfs-available">Is ZFS* available?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.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">
|
||
<a href ="https://clearlinux.org"> Clear Linux* Project</a>
|
||
</div>
|
||
</div>
|
||
<nav class="header__menu">
|
||
<ul class="header__menu_list">
|
||
<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> »</li>
|
||
|
||
<li><a href="tutorials.html">Tutorials</a> »</li>
|
||
|
||
<li>Use the function multi-version patch generator</li>
|
||
|
||
|
||
<li class="wy-breadcrumbs-aside">
|
||
|
||
|
||
|
||
<a href="https://github.com/clearlinux/clear-linux-documentation/blob/rtd-theme/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="use-the-function-multi-version-patch-generator">
|
||
<span id="fmv"></span><h1>Use the function multi-version patch generator</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</h2>
|
||
<p>First, follow our guide to <a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#bare-metal-install-desktop"><span class="std std-ref">Install Clear Linux* OS from the live desktop</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</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"><stdio.h></span><span class="cp"></span>
|
||
<span class="cp">#include</span> <span class="cpf"><stdlib.h></span><span class="cp"></span>
|
||
<span class="cp">#include</span> <span class="cpf"><sys/time.h></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"><</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"><</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"><</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</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">&</span>> 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><buildlog></cite> and
|
||
<cite><sourcecode></cite>. Replace <cite><buildlog></cite> and <cite><sourcecode></cite> with the proper
|
||
values and execute:</p>
|
||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>perl make-fmv-patch.pl <buildlog> <sourcecode>
|
||
</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("avx2","arch=atom","default")))</span>
|
||
<span class="go"> void foo(){</span>
|
||
<span class="go"> int i,x;</span>
|
||
<span class="go"> for (x=0; x<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"><stdio.h></span><span class="cp"></span>
|
||
<span class="cp">#include</span> <span class="cpf"><stdlib.h></span><span class="cp"></span>
|
||
<span class="cp">#include</span> <span class="cpf"><sys/time.h></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">"avx2"</span><span class="p">,</span><span class="s">"arch=atom"</span><span class="p">,</span><span class="s">"default"</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"><</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"><</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">'__attribute__((target_clones("avx2","arch=atom","default")))'</span><span class="o">.</span><span class="s">"\n"</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</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 > y) ? x : y; }
|
||
|
||
+__attribute__((target_clones("avx2","arch=atom","default")))
|
||
static double aerror(C *a, C *b, int n)
|
||
{
|
||
if (n > 0) {
|
||
@@ -111,6 +112,7 @@
|
||
}
|
||
|
||
/* make array hermitian */
|
||
+__attribute__((target_clones("avx2","arch=atom","default")))
|
||
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("avx2","arch=atom","default")))
|
||
void aadd(C *c, C *a, C *b, int n)
|
||
{
|
||
int i;
|
||
@@ -159,6 +162,7 @@
|
||
}
|
||
|
||
/* C = A - B */
|
||
+__attribute__((target_clones("avx2","arch=atom","default")))
|
||
void asub(C *c, C *a, C *b, int n)
|
||
{
|
||
int i;
|
||
@@ -170,6 +174,7 @@
|
||
}
|
||
|
||
/* B = rotate left A (complex) */
|
||
+__attribute__((target_clones("avx2","arch=atom","default")))
|
||
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="aws-web/aws-web.html" class="btn btn-neutral float-right" title="Create and launch Clear Linux* OS from Amazon Web Services" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||
|
||
|
||
<a href="hadoop.html" class="btn btn-neutral float-left" title="Set up a single node cluster with Hadoop*" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
||
|
||
</div>
|
||
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>
|
||
© Copyright 2019, many
|
||
<span class="lastupdated">
|
||
最后更新于 7月 29, 2019.
|
||
</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>
|
||
|
||
</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> |