<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>优化 on 111qqz's blog</title><link>https://111qqz.com/en/categories/%E4%BC%98%E5%8C%96/</link><description>Recent content in 优化 on 111qqz's blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2015-2026 111qqz</copyright><lastBuildDate>Sat, 21 Aug 2021 17:43:02 +0800</lastBuildDate><atom:link href="https://111qqz.com/en/categories/%E4%BC%98%E5%8C%96/index.xml" rel="self" type="application/rss+xml"/><item><title>ska::flat_hash_map 源码分析</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/2021-08-21-ska-flat-hash-map-notes/</link><pubDate>Sat, 21 Aug 2021 17:43:02 +0800</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/2021-08-21-ska-flat-hash-map-notes/</guid><description>&lt;h2 class="relative group"&gt;背景
 &lt;div id="背景" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e8%83%8c%e6%99%af" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;最近在调研各种hashmap..
发现ska::flat hash map性能优秀。。于是来看看代码。。
发现最大的特点是,ska::flat_hash_map使用了带probe count上限的robin hood hashing&lt;/p&gt;</description></item><item><title>一次avx2在gcc上core dump的排查经历</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/2021-07-22-debugging-avx2-on-gcc4/</link><pubDate>Thu, 22 Jul 2021 20:01:50 +0800</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/2021-07-22-debugging-avx2-on-gcc4/</guid><description>&lt;h2 class="relative group"&gt;背景
 &lt;div id="背景" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e8%83%8c%e6%99%af" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;起因是同事在实现int4的功能，结果流水线有一条死活过不了(gcc版本为4.8.5),一直core dump
经过初步排查，找出了如下最小可以复现的代码:&lt;/p&gt;</description></item><item><title>tensorRT 模型兼容性说明</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2020-03-24-tensorrt-model-compatibility-notes/</link><pubDate>Tue, 24 Mar 2020 12:26:01 +0800</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2020-03-24-tensorrt-model-compatibility-notes/</guid><description>&lt;h2 class="relative group"&gt;名词说明
 &lt;div id="名词说明" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%90%8d%e8%af%8d%e8%af%b4%e6%98%8e" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CUDA. 一般来说指的是CUDA SDK. 目前经常使用的是CUDA 8.0和CUDA 10.1两个版本. 8.0和10.1都是SDK的版本号.&lt;/li&gt;
&lt;li&gt;CUDNN. The NVIDIA CUDA® Deep Neural Network library (cuDNN). 是一个可以为神经网络提供GPU加速的库&lt;/li&gt;
&lt;li&gt;compute capability. 是GPU的固有参数,可以理解为GPU的版本.越新的显卡该数值往往越高.&lt;/li&gt;
&lt;li&gt;tensorRT.NVIDIA TensorRT™ is an SDK for high-performance deep learning inference. 是一个深度学习推理库,旨在提供高性能的推理速度.&lt;/li&gt;
&lt;li&gt;plan file,也称为 engine plan. 是生成的tensorRT 模型文件.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;兼容性说明
 &lt;div id="兼容性说明" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%85%bc%e5%ae%b9%e6%80%a7%e8%af%b4%e6%98%8e" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Engine plan 的兼容性依赖于GPU的compute capability 和 TensorRT 版本, 不依赖于CUDA和CUDNN版本.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>【施工中】 halide学习笔记</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86/2019-02-18-halide-notes/</link><pubDate>Mon, 18 Feb 2019 06:00:51 +0000</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86/2019-02-18-halide-notes/</guid><description>&lt;blockquote&gt;&lt;blockquote&gt;
&lt;h3 class="relative group"&gt;**Halide is a programming language designed to make it easier to write high-performance image and array processing code on modern machines. **
 &lt;div id="halide-is-a-programming-language-designed-to-make-it-easier-to-write-high-performance-image-and-array-processing-code-on-modern-machines" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#halide-is-a-programming-language-designed-to-make-it-easier-to-write-high-performance-image-and-array-processing-code-on-modern-machines" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;halide有两个特性比较吸引人。一个是对于各种平台架构的支持。&lt;/p&gt;</description></item><item><title>优化学习笔记(1):Loop unrolling</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/2019-01-23-loop-unrolling/</link><pubDate>Wed, 23 Jan 2019 11:51:46 +0000</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/2019-01-23-loop-unrolling/</guid><description>&lt;p&gt;&lt;del&gt;迫于生计，&lt;/del&gt;最近要学习&lt;a href="http://halide-lang.org/" target="_blank" rel="noreferrer"&gt;halide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;先去学习/复习一下常见的编译优化技巧。&lt;/p&gt;
&lt;p&gt;loop unrolling，也就是循环展开，顾名思义，就是把循环展开来写。&lt;/p&gt;</description></item><item><title>CUDA C Best Practices Guide 阅读笔记（二） Heterogeneous Computing</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-13-cuda-c-best-practices-guide-heterogeneous-computing/</link><pubDate>Tue, 13 Feb 2018 06:38:38 +0000</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-13-cuda-c-best-practices-guide-heterogeneous-computing/</guid><description>&lt;p&gt;CUDA 编程涉及到在不同的平台上同时运行代码:包含CPU的host 和包含GPU的device.&lt;/p&gt;</description></item><item><title>CUDA C Best Practices Guide 阅读笔记（1） 并行计算方法论(APOD)</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-12-cuda-c-best-practices-parallel-computing-methodology/</link><pubDate>Mon, 12 Feb 2018 04:58:31 +0000</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-12-cuda-c-best-practices-parallel-computing-methodology/</guid><description>&lt;p&gt;APOD指的是Assess, Parallelize, Optimize, Deploy&lt;/p&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt="Assess, Parallelize, Optimize, Deploy."
 src="http://docs.nvidia.com/cuda/cuda-c-best-practices-guide/graphics/apod-cycle.png"
 &gt;&lt;/figure&gt;
&lt;p&gt;如图所示，APOD过程是一个循环的过程，每次只进行一部分，从A到P到O到D,然后再进行下一轮的APOD&lt;/p&gt;</description></item><item><title>cuda c++ 基础算法库 thrust 学习笔记</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-10-cuda-thrust-notes/</link><pubDate>Sat, 10 Feb 2018 08:43:54 +0000</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-10-cuda-thrust-notes/</guid><description>&lt;p&gt;可以了解成并行版的STL(?&lt;/p&gt;
&lt;p&gt;过了一遍&lt;a href="http://docs.nvidia.com/cuda/thrust/index.html" target="_blank" rel="noreferrer"&gt;nvidia的官方网文档&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;发现如果熟悉STL的话,thrust没什么太多好说的,看起来很简单&amp;hellip;&lt;/p&gt;</description></item><item><title>cuda error checking 学习笔记</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-09-cuda-error-checking-notes/</link><pubDate>Fri, 09 Feb 2018 06:55:00 +0000</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-09-cuda-error-checking-notes/</guid><description>&lt;p&gt;由于发现cuda c++ 的 debug方式和c++ 差别很大,因此打算再开一篇,专门记录一些和error checking 以及debug有关的内容.&lt;/p&gt;</description></item><item><title>cuda 学习笔记</title><link>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-01-cuda-notes/</link><pubDate>Thu, 01 Feb 2018 07:20:04 +0000</pubDate><guid>https://111qqz.com/en/post/%E5%B7%A5%E7%A8%8B/cuda/2018-02-01-cuda-notes/</guid><description>&lt;p&gt;uodate:有毒吧。kernel中出问题原来是不会报错的。。。。&lt;/p&gt;</description></item></channel></rss>