后背酸痛是什么原因| 女性为什么会得疱疹| crt是什么| 丫丫的老公叫什么| 胃酸吃什么药| 这是什么地方| 南昌有什么好吃的| 吃坏东西肚子疼吃什么药| 什么清肠茶好| 素心是什么意思| 线雕是什么| 432是什么意思| 艺高胆大是什么生肖| 六亲不认是什么生肖| 不明觉厉是什么意思| 脱疽是什么意思| 黄铜刮痧板有什么好处| 属鸡的本命佛是什么佛| 9月份是什么季节| 前列腺液是什么样子| 亦女念什么| mt指什么| 转氨酶异常是什么意思| 哈密瓜为什么叫哈密瓜| 现是什么生肖| 望尘莫及是什么意思| 焦虑症是什么原因引起的| ptp是什么意思| k字开头是什么车| 水牛背满月脸是什么病| 杯弓蛇影告诉我们什么道理| 50年是什么婚| vct是什么意思| 什么水果是凉性的| 补血吃什么| 气血不足吃什么中成药最好| 刘伯温属什么生肖| 狗狗不吃饭是什么原因| 宫颈纳氏腺囊肿是什么意思| 芒硝是什么东西| 细佬是什么意思| burberry什么牌子| 回族不能吃什么| 甲状腺是什么病| 心脏早搏是什么原因| 便秘喝什么茶好| 朝代表什么生肖| 出球小动脉流什么血| 十月十日什么星座| 生长纹是什么原因| 烟雾病是什么原因引起的| 浅黄色是什么颜色| 汗疱疹用什么药膏| 高梁长什么样子| 怄气是什么意思| 为什么会嗜睡| 一月五日是什么星座| 脚出汗多是什么原因怎么办| 夏至吃什么食物| 脑梗做什么检查| 牙龈黑紫色是什么原因| 养神经吃什么食物最好| 兵马未动粮草先行是什么意思| 蛋清加蜂蜜敷脸有什么好处| 伊朗用什么货币| 776是什么意思| 有什么| 离退休是什么意思| 属蛇的贵人是什么属相| 进门见什么好| 什么叫椎间盘膨出| 明矾是什么| 1953年属蛇的是什么命| 鼻涕带血是什么原因引起的| 解脲支原体阳性吃什么药| 什么是局限性肺纤维化| 弱肉强食什么意思| sn是什么| 阴茎破皮擦什么药| 属猴的跟什么属相最配| 亲什么意思| 婧字五行属什么| 胶原蛋白什么时候喝最好| 五脏六腑什么意思| 维生素d和维生素ad有什么区别| 爱因斯坦发明了什么| 什么是生僻字| 核糖体是什么| 月经不调去医院要做什么检查| 冷暖自知上一句是什么| 寄大件用什么物流便宜| 育字五行属什么| 常温是什么意思| 胃火重吃什么药| 生肠是什么| 12年一个轮回叫什么| 霸屏是什么意思| 老人头晕挂什么科| 养生馆是干什么的| 胰岛素抵抗是什么意思| 长期大便不成形是什么原因造成的| p什么意思| 咽喉炎是什么原因引起的| 葡萄糖高是什么意思| lsp是什么意思| 孕妇吃葡萄对胎儿有什么好处| 什么鱼嘌呤含量低| 人被老鼠咬了什么预兆| 蛇字五行属什么| essence是什么意思| 离岸人民币什么意思| 世界上最长的英语单词是什么| 右是什么结构| 女生被口是什么感觉| 上皮细胞是什么| 助产学是干什么的| 实至名归是什么意思| 菊花泡茶有什么功效| 前列腺不能吃什么食物| 克隆是什么意思| 红烧鱼用什么鱼| 发低烧有什么症状| 疼痛科属于什么科| 睡觉流眼泪是什么原因| 糙米是什么米| 豆腐吃多了有什么坏处| 脾胃不和吃什么药| 鬃狮蜥吃什么| 吃头孢为什么不能喝酒| 头疼吃什么药最有效| 为什么会得脚气| 本番是什么意思| 梦见蛇咬别人是什么意思| 在什么什么后面的英文| 艺高胆大是什么生肖| 尖嘴猴腮什么意思| 什么是化学性肝损伤| 维生素b什么时候吃效果最好| 丈夫的弟弟叫什么| 虹膜是什么意思| 铮铮是什么意思| lcr是什么意思| 寸止什么意思| 水肿是什么样子| 妹妹是什么意思| 红鸾星动是什么意思| pcr是什么| 安宫牛黄丸主治什么病| 乙肝125阳性是什么意思| 左侧小腹疼是什么原因| 化疗中的病人应该吃什么| 结扎是什么| chihiro是什么意思| 减胎对另一个胎儿有什么影响| 舌苔黑是什么病| 男人为什么喜欢吃奶| 肝不好挂什么科室| 腰间盘突出压迫神经什么症状| 什么流砥柱| 好雅兴是什么意思| 三星堆为什么叫三星堆| 常识是什么意思| 介怀是什么意思| 喉咙痰多吃什么药最好| 男士适合戴什么手串| 夫星是什么意思| 同工同酬什么意思| 寻麻疹看什么科| 山竹有什么功效| 血压低什么症状| 梦见自己坐火车是什么意思| 竟然是什么意思| 缠腰龙是什么病| fox什么意思| 老年人脚肿是什么原因| 少了一个肾有什么影响| 女生左手中指戴戒指什么意思| 12月1日什么星座| 笑什么如花| 与狼共舞男装什么档次| 囊肿里面是什么东西| 肺炎支原体抗体阳性是什么意思| 金黄色葡萄球菌是什么菌| 致字五行属什么| 泡脚什么时候泡最好| 疝气什么症状| 命运多折 什么生肖| 肝火旺吃什么药好| 血友病是什么意思| 酊是什么意思| 什么的少年| dj管是什么| lee是什么牌子| 杭州吃什么| 属猪的本命佛是什么佛| 针眼用什么眼药水| 饭后痰多是什么原因| o型血与a型血生的孩子是什么血型| 骑驴找马什么意思| 塌方是什么意思| 什么叫化疗为什么要化疗| 不拘小节是什么意思| 子宫肌瘤是什么意思| 卵泡刺激素是什么意思| 下午三点是什么时辰| 3p什么意思| 煮牛肉放什么容易烂| 油膜是什么| 经常心慌是什么原因| 喉咙干是什么原因| 护理和护士有什么区别| 部长什么级别| 管科是什么专业| 10月16日什么星座| 戒指上的s925是什么意思| 胆固醇偏高是什么意思| 禾真念什么| 2019属什么生肖| 承字属于五行属什么| 鸡蛋炒什么菜谱大全| 女人每天喝什么最养颜| 木人石心是什么意思| 低钾血症是什么意思| 从子是什么意思| nsfw什么意思| 什么的英语单词| 煮花生放什么调料好吃| 特仑苏是什么意思| 节源开流是什么意思| 犬字旁的字和什么有关| 扁桃体发炎吃什么药效果好| 什么是海市蜃楼| 咳嗽用什么药| 白癜风吃什么药| 脑供血不足吃什么食物好| 沙蟹吃什么| 反流性食管炎有什么症状| 营救是什么意思| 巨大的什么| 白露是什么季节| 4月20日什么星座| 娃娃衫配什么裤子图片| 蜂胶有什么作用和功效| 码子是什么意思| 感冒咳嗽挂号挂什么科| 什么东西补锌| 经常尿路感染是什么原因| 洋参片泡水喝有什么功效| 交是什么结构的字| 昆明有什么好吃的| 喝酒上头是什么原因| 前胸后背疼是什么病| 阴虱是什么样子图片| 小麦什么时候播种| 复配是什么意思| 龟粮什么牌子的好| 曲安奈德针治疗什么| 有氧运动和无氧运动有什么区别| 为什么医生都穿洞洞鞋| 雷字五行属什么| 甘肃天水有什么好玩的地方| 不长毛的猫叫什么名字| 来曲唑片是什么药| 什么头什么颈| 百度
Skip to content

NVIDIA/jitify

Repository files navigation

Jitify

A single-header C++ library for simplifying the use of CUDA Runtime Compilation (NVRTC).

Rationale

Integrating NVRTC into existing and/or templated CUDA code can be tricky. Jitify aims to simplify this process by hiding the complexities behind a simple, high-level interface.

Quick example

const char* program_source = "my_program\n"
    "template<int N, typename T>\n"
    "__global__\n"
    "void my_kernel(T* data) {\n"
    "    T data0 = data[0];\n"
    "    for( int i=0; i<N-1; ++i ) {\n"
    "        data[0] *= data0;\n"
    "    }\n"
    "}\n";
static jitify::JitCache kernel_cache;
jitify::Program program = kernel_cache.program(program_source);
// ...set up data etc.
dim3 grid(1);
dim3 block(1);
using jitify::reflection::type_of;
program.kernel("my_kernel")
       .instantiate(3, type_of(*data))
       .configure(grid, block)
       .launch(data);

Features

Jitify provides/takes care of the following things:

  • All NVRTC and CUDA Driver API calls
  • Simple kernel instantiation and launch syntax
  • Caching compiled kernels
  • Loading source code from strings, files, or embedded in an executable
  • Ignoring host code in runtime-compiled sources
  • Skipping unneeded headers
  • Support for JIT-safe standard library headers (e.g., float.h, stdint.h etc.)
  • Dealing with kernel name mangling
  • Reflecting kernel template parameters into strings
  • Compiling specifically for the current device's compute capability
  • Linking to pre-compiled PTX/CUBIN/FATBIN/object/library files
  • Support for CUDA versions 7.0, 7.5, 8.0, 9.x, 10.x, on both Linux and Windows
  • Convenient parallel_for function and lambda support
  • *New* jitify::experimental API provides serialization capabilities to enable user-managed hashing and caching

Things you can do with Jitify and NVRTC:

  • Rapidly port existing code to use CUDA Runtime Compilation
  • Dramatically reduce code volume and offline-compilation times
  • Increase kernel performance by baking in runtime constants and autotuning

How to build

Jitify is just a single header file:

#include <jitify.hpp>

Compile with: -pthread (not needed if JITIFY_THREAD_SAFE is defined to 0)

Link with: -lcuda -lcudart -lnvrtc

A small utility called stringify is included for converting text files into C string literals, which provides a convenient way to integrate JIT-compiled sources into a build.

Running tests

Tests can be run with the following command:

$ make test

This will automatically download and build the GoogleTest library, which requires CMake to be available on the system.

Documentation

Examples

See jitify_example.cpp for some examples of how to use the library. The Makefile also demonstrates how to use the provided stringify utility.

GTC 2017 Talk by Ben Barsdell and Kate Clark

API documentation

Doxygen documentation can be generated by running:

$ make doc

The HTML and LaTeX results are placed into the doc/ subdirectory.

License

BSD-3-Clause

Authors

Ben Barsdell (NVIDIA, bbarsdell at nvidia dot com)

Kate Clark (NVIDIA, mclark at nvidia dot com)

About

A single-header C++ library for simplifying the use of CUDA Runtime Compilation (NVRTC).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 16

情字五行属什么 imf是什么意思 懵是什么意思 ihc是什么意思 颈椎病用什么药膏
干眼症吃什么药好 梦见打蛇是什么预兆 什么牌子的洗衣机最好 家庭油炸用什么油好 慕名而来是什么意思
冲锋陷阵是什么生肖 gerd是什么病 加油站为什么不能打电话 强是什么生肖 猿人头是什么牌子
女生学什么专业好 玉米是什么时候传入中国的 戏谑是什么意思 f什么意思 肌腱属于什么组织
瓜蒌是什么东西hcv8jop8ns9r.cn 什么是高脂肪食物hcv8jop9ns9r.cn 单亲家庭是什么意思hcv7jop4ns6r.cn 肾精亏虚吃什么药最好hcv9jop3ns5r.cn 什么是陈皮hcv8jop3ns5r.cn
右侧卵巢内囊性结构什么意思hcv8jop4ns7r.cn 白炽灯是什么灯hcv9jop1ns9r.cn 稽是什么意思hcv8jop5ns0r.cn 奶黄包的馅是什么做的hcv9jop1ns4r.cn 恶对什么hcv8jop6ns2r.cn
导管室是干什么的hcv8jop6ns5r.cn 地级市市委书记是什么级别hcv8jop6ns7r.cn 什么的金边hcv8jop5ns5r.cn 湖北属于什么地区bjhyzcsm.com 嗜睡是什么原因hcv9jop4ns4r.cn
什么是社会考生hcv9jop4ns4r.cn 梦见修坟墓是什么预兆hcv9jop0ns8r.cn 早熟是什么意思naasee.com 女人左眼跳是什么意思hcv9jop4ns9r.cn 引以为傲是什么意思hcv7jop9ns5r.cn
百度