Vocabulary
- It’s not a classic anecdote, is it? 这不是一个经典的轶事,是吗?
- Surreal but, um-- but nice. 超现实的,但是,嗯——但是很好。
- It’s not yogurt. It’s mayonnaise. 这不是酸奶。 是蛋黄酱。
- Well, it was genuinely bizarre. 嗯,这真的很奇怪。
- Or hounds for that matter. Our readers are equally intrigued by both species. 或者猎犬。 我们的读者对这两个物种同样感兴趣。
- Oh. Shittity brickitty. 哦。 狗屎砖。
- The guinea-fowl is proving more complicated than expected. 事实证明,珍珠鸡比预期的要复杂得多。
- Though, um-- um, I have done the odd bit of amateur stuff. 不过,嗯——嗯,我做了一些奇怪的业余事情。
- The wages are a scandal, aren’t they? 工资是个丑闻,不是吗?
- It’s down the corridor on the right. 它在右边的走廊里。
- We really are the most desperate lot of underachievers. 我们真的是最绝望的失败者。
- I haven’t had a girlfriend since puberty. 我从青春期开始就没有女朋友了。
- flogging her guts out in London’s worst record store. 在伦敦最糟糕的唱片店里鞭打她的胆量。
- And most of her limbs work, whereas I’m stuck in this thing day and night, in a house full of ramps. 她的大部分四肢都在工作,而我却日夜被困在这个满是坡道的房子里。
- Used to be handsome, now kind of squidgy round the edges. 以前很帅,现在有点毛骨悚然。
- The chances are always minuscule. 机会总是微乎其微。
Vocabulary
- It’s not a classic anecdote, is it? 这不是一个经典的轶事,是吗?
- Surreal but, um-- but nice. 超现实的,但是,嗯——但是很好。
- It’s not yogurt. It’s mayonnaise. 这不是酸奶。 是蛋黄酱。
- Well, it was genuinely bizarre. 嗯,这真的很奇怪。
- Or hounds for that matter. Our readers are equally intrigued by both species. 或者猎犬。 我们的读者对这两个物种同样感兴趣。
- Oh. Shittity brickitty. 哦。 狗屎砖。
- The guinea-fowl is proving more complicated than expected. 事实证明,珍珠鸡比预期的要复杂得多。
- Though, um-- um, I have done the odd bit of amateur stuff. 不过,嗯——嗯,我做了一些奇怪的业余事情。
- The wages are a scandal, aren’t they? 工资是个丑闻,不是吗?
- It’s down the corridor on the right. 它在右边的走廊里。
- We really are the most desperate lot of underachievers. 我们真的是最绝望的失败者。
- I haven’t had a girlfriend since puberty. 我从青春期开始就没有女朋友了。
- flogging her guts out in London’s worst record store. 在伦敦最糟糕的唱片店里鞭打她的胆量。
- And most of her limbs work, whereas I’m stuck in this thing day and night, in a house full of ramps. 她的大部分四肢都在工作,而我却日夜被困在这个满是坡道的房子里。
- Used to be handsome, now kind of squidgy round the edges. 以前很帅,现在有点毛骨悚然。
- The chances are always minuscule. 机会总是微乎其微。
1.
试述数据、数据库、数据库管理系统、数据库系统的概念以及它们之间的关系.
数据
描述事物的符号记录
数据库
Database, 简称 DB. Database 是长期储存在计算机内、有组织的、可共享的大量数据的集合
数据库管理系统
Database Management System, 简称 DBMS. DBMS 是位于用户与操作系统之间的一层数据管理软件, 它属于基础软件, 是一个大型复杂的软件系统. 用于科学地组织和存储数据、高效地获取和维护数据.
OS: Ubuntu 22.04.1 LTS
本文使用的一系列脚本及配置文件均可在 liblaf/dotfiles 下找到.
1. Python 安装与配置
1.1 安装 Miniconda
安装 Miniconda 的脚本位于 install.sh, 默认安装至 ~/.local/pkgs/conda/
下. 由于自己的机器已经配置过 Conda, 不再重复安装.
优化策略
warp divergence
ref 实现中的 warp divergence 主要是因为将不同行归入一个 warp 计算, 而不同行的 NNZ 可能有很大差异, 产生 warp divergence. 因此, 只要避免将不同行划入同一 warp 即可. 因此, 令 block.x = 1
, 使每个 thread block 至多处理一行数据.
如图中 ref 与 phase_1 对比, 提升有限.
shared memory
在 SpMM 中, 稀疏矩阵的一个元素代表了对于稠密矩阵的一行的访问. 因此可以将稀疏矩阵的一部分缓存在 shared memory 中, 以减少重复从 global memory 中读取稀疏矩阵.
基于 Segregated Free Lists + First Fit + Immediate Coalescing + Smart Reallocation 实现.
Segregated Free Lists
使用最开始的 9 个 Word 存储 (0, 32], (32, 64], …, (2048, 4096], (4096, inf) 分块大小的 Free List Head, 同时维护这 9 个链表.
在代码中, 我们约定 Pred
和 Succ
表示链表中的拓扑顺序, Prev
和 Next
表示 block 在 mem_heap
上的地址顺序.
Task 0
Performance
Option | Elapsed Time / seconds | Performance / GFlops |
---|---|---|
-O0 |
1.0072 | 0.2665 |
-O1 |
0.3461 | 0.7755 |
-O2 |
0.3332 | 0.8057 |
-O3 |
0.0496 | 5.4081 |
-fast |
0.0386 | 6.9524 |