C/C++使用指南
auto:for(auto& name : input){}
c++中name mingling较C更为复杂
创建静态链接库
gcc -fPIC -c a.c
gcc -fPIC -c b.c
gcc -shared -o libfoo.so a.o b.o
auto:for(auto& name : input){}
c++中name mingling较C更为复杂
创建静态链接库
gcc -fPIC -c a.c
gcc -fPIC -c b.c
gcc -shared -o libfoo.so a.o b.o
prohibitive : (费用)高得令很多人负担不起的,贵得让人望而却步的
manually enumerating all optimization choices for all
operators is prohibitive
Ablation study :拆分分析,分析工作中各个组件的影响
orthogonal : 正交
permeates : 扩散, e.g. : The integration of graphics processing units (GPUs) on high-end compute nodes has established a new accelerator-based heterogeneous computing model, which now permeates high-performance computing.
paradigm : 范式 large-scale distributed computing paradigms
mitigate : 减轻 most of partitioning attacks have been effectively mitigated
consolidate : 合并 it optimizes CPU-GPU transfer by consolidating small transfers
manyfold : 成倍的 To support such an algorithm design on a Sunway supercomputer, the implementation-wise challenge can be manyfold:
substantial : 大量的,重大的,实质的
spatial && temporal : 空间的 && 时间的
rigorous : 清楚 xxx will be made more rigorous shortly
perf record [command]
收集 command 数据,将结果写入 perf.data
perf report
读取 perf.data
中采样数据,给出热点分析结果
两种设计思想:
"worse is better" 的设计,例如 C 和 unix,可以满足 50%-80% 的需求 ,由于实现简洁因此便于移植。因此 C 和 unix 迅速占领了 50% 的用户。作者称 C 和 unix 是 ”终极电脑病毒“。
在此后人们会有更强的动力去完善 ”worse is better“ 的设计,最终将此类系统完善到 90%,使其接近 ”正确“ 的设计。
而一个 ”正确“ 的系统,可能需要花费 80% 的时间实现 20% 的功能,因此需要花费大量时间开发,同时可能只能在最复杂的设备上得到满意的结果。