NVIDIA提供了一些适用于CUDA层面的Profiling工具,其中最重要的是Nsight产品族的性能分析工具Nsight Systems、Nsight Compute和Nsight Graphics。
NVIDIA提供了一些适用于CUDA层面的Profiling工具,其中最重要的是Nsight产品族的性能分析工具Nsight Systems、Nsight Compute和Nsight Graphics。
Transformer模型最早是由Google在2017年发布的一篇论文《Attention Is All You Need》中提出。最早该方法用用于翻译任务中,发现性能能够超越之前最优秀的RNN模型。在后一年,Google发表的《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》提出了BERT模型,和OpenAI发布《Improving Language Understanding by Generative Pre-Training》提出了GPT模型,这两个著名的模型奠定了大模型的基础。
windbg是微软开发的用于在win平台调试程序的强大工具,支持内核态、用户态调试。可以调试程序、正在运行的进程和动态库,本教程主要介绍在用户态模式下调试应用程序。
MSBuild生成compile_command.json文件
在windows平台上,CMake生成compile_command.json
不是一件容易的事情,CMAKE_EXPORT_COMPILE_COMMANDS可能不会生效,同时也没有bear一样的生成工具。
最近发现谷歌程序员开发的工具 https://github.com/0xabu/MsBuildCompileCommandsJson
可以很方便的为CMake和MSBuild编译的项目生成compile_command.json
。
Sink是一系列类,功能为负责日志输出的具体实现,其通过继承的方式实现拓展。基类Sink的类定义如下:
在 spdlog
日志库中,register
类是为了管理logger的生命周期并提供方便的全局访问。该类包括以下功能。
spdlog库通过logger类提供日志接口,而logger的创建有多种方式。第一种方式是全局默认logger,例如,在官方example日志使用样例中提供的默认的日志调用:
spdlog是一个跨平台、快速和轻量的C++日志库,其完全header-only实现和基于C++11实现的特性使其可以很好的集成到任何项目中。项目地址:https://github.com/gabime/spdlog
spdlog短小精悍,代码行数在2w左右,且代码风格优秀,符合现代C++编程规范,有许多值得学习的实践,遂开坑对该源码开始阅读和理解。
重排序总的来说有四种类型