高性能分布式执行框架——Ray python分布式多进程框架 Ray
pybind11
给 Python 算法插上性能的翅膀——pybind11 落地实践
NUMA
绑核 通俗说就是把一个进程绑定到指定的cpu上,即指定进程只运行在指定cpu上。 绑核的作用 可以控制进程运行耗时,比如大核主频高,绑定到大核上运行起来应该会比绑定到小核上运行耗时小。 可以优化缓存性能。如果进程没有绑定在一个cpu上,那么当该进程切换cpu时,新cpu的cache上没有该进程缓存的数据,就会导致cache miss,然后需要从内存加载数据,然后过一段时间切回...
mmdetection
官方文档 # Train python tools/train.py configs/yolox/yolox_tiny_8x8_300e_coco.py # Test python tools/test.py configs/yolox/yolox_tiny_8x8_300e_coco.py xxx.pth --eval mAP Train Traceback File "./t...
DGL
从源码安装 git clone --recursive https://github.com/dmlc/dgl.git cd build mkdir build # CPU-only build cmake .. # CUDA build cmake -DUSE_CUDA=ON .. make -j32 # install the python binding cd ../pyth...
Protocol Buffers
介绍 Protobuf(Google Protocol Buffer) 是一种用于对结构数据进行序列化的工具,从而实现数据存储和交换。 序列化: 将结构数据或者对象转换成能够用于存储和传输的格式。 反序列化: 在其他的计算环境中,将序列化后的数据还原为数据结构和对象。 Protobuf是类似于JSON、XML这样的数据交换格式。但是相比于JS...
Eigen
性能方面的措施 static allocation, temporary removal, unrolling, auto vectorization, cache-aware algorithms, multi-threading …
一、Python对象初探
在Python中,一个整数是一个对象,一个字符串是一个对象,整数类型、字符串类型也都是一个对象。 一言以蔽之,“Python中一切皆对象”。
Python
is和==区别 Python中,万物皆对象。每个对象有3个属性: id:对象的地址,可通过内置函数id()查看对象引用的地址。 type:对象的类型,可通过内置函数type()查看对象的类型。 value:对象的值。 a is b 实际上是比较id(a) == id(b)。 a == b就是比较对象a的值和对象b的值是否相等。 python的set()底层是什么数据...
理解__name__
if __name__ == 'main':的作用 # test.py print ('you are importing ', __name__) if __name__ == 'main': print ('you are executing ', __name__) # hello.py import hello print ('you are executing...