From d45160278b1c11827ed1d2208f1940a246f09f26 Mon Sep 17 00:00:00 2001 From: feilong Date: Tue, 29 Mar 2022 16:53:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 10 + README.md | 152 ++++- .../config.json" | 10 + .../helloworld.json" | 7 + .../helloworld.md" | 23 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 6 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../3.CUDA stream/config.json" | 6 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 6 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 8 + .../config.json" | 6 + .../1.cuBLAS/config.json" | 8 + .../2.cuFFT/config.json" | 8 + .../3.cuRAND/config.json" | 8 + .../4.cuSPARSE/config.json" | 8 + .../5.cuDNN/config.json" | 8 + .../config.json" | 6 + .../config.json" | 6 + data/config.json | 7 + data/tree.json | 520 ++++++++++++++++++ data/tree_simple.json | 88 +++ main.py | 5 + requirements.txt | 2 + 64 files changed, 1225 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/helloworld.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/helloworld.md" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/2.\344\273\213\347\273\215GPU\347\241\254\344\273\266\345\271\263\345\217\260/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/3.\347\216\257\345\242\203\345\256\211\350\243\205\351\205\215\347\275\256/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/1.CUDA\347\250\213\345\272\217\347\232\204\347\274\226\350\257\221/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/2.GPU\347\272\277\347\250\213\347\232\204\350\260\203\347\224\250/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/3.GPU\345\222\214CPU\347\232\204\351\200\232\350\256\257/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/4.\344\275\277\347\224\250\345\244\232\344\270\252\347\272\277\347\250\213\347\232\204\346\240\270\345\207\275\346\225\260/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/5.\344\275\277\347\224\250\347\272\277\347\250\213\347\264\242\345\274\225/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/6.\345\244\232\347\273\264\347\275\221\347\273\234/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/7.\347\275\221\346\240\274\344\270\216\347\272\277\347\250\213\345\235\227/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/1.\350\256\276\345\244\207\345\210\235\345\247\213\345\214\226/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/2.GPU\347\232\204\345\255\230\345\202\250\345\215\225\345\205\203/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/3.GPU\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\345\210\206\351\205\215\344\270\216\351\207\212\346\224\276/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/4.\346\225\260\346\215\256\347\232\204\344\274\240\350\276\223/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/5.\346\225\260\346\215\256\344\270\216\347\272\277\347\250\213\344\271\213\351\227\264\347\232\204\345\257\271\345\272\224\345\205\263\347\263\273/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/1.CUDA\344\270\255\347\232\204\345\255\230\345\202\250\345\215\225\345\205\203\347\247\215\347\261\273/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/2.CUDA\344\270\255\347\232\204\345\220\204\347\247\215\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250\346\226\271\346\263\225/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/3.CUDA\344\270\255\347\232\204\345\220\204\347\247\215\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\351\200\202\347\224\250\346\235\241\344\273\266/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/1.\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/2.\345\205\261\344\272\253\345\206\205\345\255\230\347\232\204Bank conflict/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/3.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\350\277\233\350\241\214\347\237\251\351\230\265\350\275\254\347\275\256\345\222\214\347\237\251\351\230\265\344\271\230\347\247\257/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/6.\347\273\237\344\270\200\345\206\205\345\255\230/1.\347\273\237\344\270\200\345\206\205\345\255\230\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265\345\222\214\344\275\277\347\224\250/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/6.\347\273\237\344\270\200\345\206\205\345\255\230/config.json" create mode 100644 "data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/1.CUDA\345\272\224\347\224\250\347\250\213\345\272\217\350\277\220\350\241\214\346\227\266\347\232\204\351\224\231\350\257\257\346\243\200\346\265\213/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/2.CUDA\344\270\255\347\232\204\344\272\213\344\273\266/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/1.CUDA\344\270\255\347\232\204\345\216\237\345\255\220\346\223\215\344\275\234/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/2.\345\216\237\345\255\220\346\223\215\344\275\234\347\232\204\351\200\202\347\224\250\345\234\272\346\231\257/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/1.CUDA\346\265\201\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/2.\351\273\230\350\256\244\346\265\201\344\270\216\351\235\236\351\273\230\350\256\244\346\265\201/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/3.\345\210\251\347\224\250CUDA\346\265\201\351\207\215\345\217\240\350\256\241\347\256\227\345\222\214\346\225\260\346\215\256\344\274\240\350\276\223/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/config.json" create mode 100644 "data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/1.\345\210\251\347\224\250Nsight\347\255\211\345\210\206\346\236\220\345\267\245\345\205\267\345\257\271\347\250\213\345\272\217\346\200\247\350\203\275\350\277\233\350\241\214\345\210\206\346\236\220/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/2.\346\240\271\346\215\256\345\256\236\351\231\205\347\241\254\344\273\266\350\260\203\346\225\264\347\250\213\345\272\217/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/1.\345\255\230\345\202\250\344\274\230\345\214\226/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/2.\346\211\247\350\241\214\350\256\276\347\275\256\344\274\230\345\214\226/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/3.\346\214\207\344\273\244\347\272\247\344\274\230\345\214\226/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/4.\346\216\247\345\210\266\346\265\201\344\274\230\345\214\226/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/1.cuBLAS/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/2.cuFFT/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/3.cuRAND/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/4.cuSPARSE/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/5.cuDNN/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/config.json" create mode 100644 "data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/config.json" create mode 100644 data/config.json create mode 100644 data/tree.json create mode 100644 data/tree_simple.json create mode 100644 main.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cb7465f --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +.vscode +.idea +.DS_Store +__pycache__ +*.pyc +*.zip +*.out +bin/ +debug/ +release/ \ No newline at end of file diff --git a/README.md b/README.md index ba3271e..376ab65 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,153 @@ # skill_tree_cuda -CUDA 技能树 \ No newline at end of file +`CUAD入门技能树`是[技能森林](https://gitcode.net/csdn/skill_tree)的一部分。 + +## 编辑环境初始化 + +``` +pip install -r requirements.txt +``` + +## 目录结构说明 +技能树编辑仓库的 data 目录是主要的编辑目录,目录的结构是固定的 + +* 技能树`骨架文件`: + * 位置:`data/tree.json` + * 说明:该文件是执行 `python main.py` 生成的,请勿人工编辑 +* 技能树`根节点`配置文件: + * 位置:`data/config.json` + * 说明:可编辑配置关键词等字段,其中 `node_id` 字段是生成的,请勿编辑 +* 技能树`难度节点`: + * 位置:`data/xxx`,例如: `data/1.CUAD入门初阶` + * 说明: + * 每个技能树有 3 个等级,目录前的序号是必要的,用来保持文件夹目录的顺序 + * 每个目录下有一个 `config.json` 可配置关键词信息,其中 `node_id` 字段是生成的,请勿编辑 +* 技能树`章节点`: + * 位置:`data/xxx/xxx`,例如:`data/1.CUAD入门初阶/1.1.GPU架构及异构计算` + * 说明: + * 每个技能树的每个难度等级有 n 个章节,目录前的序号是必要的,用来保持文件夹目录的顺序 + * 每个目录下有一个 `config.json` 可配置关键词信息,其中 `node_id` 字段是生成的,请勿编辑 +* 技能树`知识节点`: + * 位置:`data/xxx/xxx`,例如:`data/1.CUAD入门初阶/1.1.GPU架构及异构计算` + * 说明: + * 每个技能树的每章有 n 个知识节点,目录前的序号是必要的,用来保持文件夹目录的顺序 + * 每个目录下有一个 `config.json` + * 其中 `node_id` 字段是生成的,请勿编辑 + * 其中 `keywords` 可配置关键字字段 + * 其中 `children` 可配置该`知识节点`下的子树结构信息,参考后面描述 + * 其中 `export` 可配置该`知识节点`下的导出习题信息,参考后面描述 + +## `知识节点` 子树信息结构 + +例如 `data/1.CUAD入门初阶/1.1.GPU架构及异构计算/介绍GPU架构以及异构计算的基本原理/config.json` 里配置对该知识节点子树信息结构,这个配置是可选的: +```json +{ + // ... + + "children": [ + { + "XX开发入门": { + "keywords": [ + "XX开发", + ], + "children": [], + "keywords_must": [ + "XX" + ], + "keywords_forbid": [] + } + } + ], +} +``` + +## `知识节点` 的导出习题编辑 + +例如 `data/1.CUAD入门初阶/1.1.GPU架构及异构计算/介绍GPU架构以及异构计算的基本原理/config.json` 里配置对该知识节点导出的习题 + +```json +{ + // ... + "export": [ + "helloworld.json" + ] +} +``` + +helloworld.json 的格式如下: +```bash +{ + "type": "code_options", + "author": "xxx", + "source": "helloworld.md", + "notebook_enable": false, + "exercise_id": "xxx" +} +``` + +其中 +* "type": "code_options" 表示是一个选择题 +* "author" 可以放作者的 CSDN id, +* "source" 指向了习题 MarkDown文件 +* "notebook_enable" 目前都是false +* "exercise_id" 是工具生成的,不填 + + +习题格式模版如下: + +````mardown +# {标题} + +{习题描述} + +以下关于上述游戏代码说法[正确/错误]的是? + +## 答案 + +{目标选项} + +## 选项 + +### A + +{混淆选项1} + +### B + +{混淆选项2} + +### C + +{混淆选项3} + +```` + +## 技能树合成 + +在根目录下执行 `python main.py` 会合成技能树文件,合成的技能树文件: `data/tree.json` +* 合成过程中,会自动检查每个目录下 `config.json` 里的 `node_id` 是否存在,不存在则生成 +* 合成过程中,会自动检查每个知识点目录下 `config.json` 里的 `export` 里导出的习题配置,检查是否存在`exercise_id` 字段,如果不存在则生成 +* 在 节 目录下根据需要,可以添加一些子目录用来测试代码。 +* 开始游戏入门技能树构建之旅,GoodLuck! + + +## FAQ + +**难度目录是固定的么?** + +1. data/xxx 目录下的子目录是固定的初/中/高三个难度等级目录 + +**如何增加章目录?** + +1. 在VSCode里打开项目仓库 +2. 在对应的难度等级目录新建章目录,例如在 data/1.xxx初阶/ 下新建章文件夹,data/1.xxx初阶/1.yyy +3. 在项目根目录下执行 python main.py 脚本,会自动生成章的配置文件 data/1.xxx初阶/1.yyy/config.json + +**如何增加节目录?**: +1. 直接在VSCode里创建文件夹,例如 "data/1.xxx初阶/1.yyy/2.zzz" +2. 项目根目录下执行 python main.py 会自动为新增节创建配置文件 data/1.xxx初阶/1.yyy/2.zzz/config.json + +**如何在节下新增一个习题**: +3. 在"data/1.xxx初阶/1.yyy/2.zzz" 目录下添加一个 markdown 文件编辑,例如 yyy.md,按照习题markdown格式编辑习题。 +4. md编辑完后,可以再次执行 python main.py 会自动生成同名的 yyy.json,并将 yyy.json 添加到config.json 的export数组里。 +5. yyy.json里的author信息放作者 CSDN ID。 \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/config.json" new file mode 100644 index 0000000..475d553 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/config.json" @@ -0,0 +1,10 @@ +{ + "node_id": "cuda-bdd8df6c59d0460bbf30d3a4a6203b06", + "keywords": [], + "children": [], + "export": [ + "helloworld.json" + ], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/helloworld.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/helloworld.json" new file mode 100644 index 0000000..7457001 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/helloworld.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "helloworld.md", + "notebook_enable": false, + "exercise_id": "02176393bfff4c7ea60d9f85fd095224" +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/helloworld.md" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/helloworld.md" new file mode 100644 index 0000000..e20fc32 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/1.\344\273\213\347\273\215GPU\346\236\266\346\236\204\344\273\245\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227\347\232\204\345\237\272\346\234\254\345\216\237\347\220\206/helloworld.md" @@ -0,0 +1,23 @@ +# {标题} + +{习题描述} + +以下关于上述游戏代码说法[正确/错误]的是? + +## 答案 + +{目标选项} + +## 选项 + +### A + +{混淆选项1} + +### B + +{混淆选项2} + +### C + +{混淆选项3} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/2.\344\273\213\347\273\215GPU\347\241\254\344\273\266\345\271\263\345\217\260/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/2.\344\273\213\347\273\215GPU\347\241\254\344\273\266\345\271\263\345\217\260/config.json" new file mode 100644 index 0000000..d4ec1f8 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/2.\344\273\213\347\273\215GPU\347\241\254\344\273\266\345\271\263\345\217\260/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-8acef8aa3f7b479d90b7eaf77ff752eb", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/3.\347\216\257\345\242\203\345\256\211\350\243\205\351\205\215\347\275\256/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/3.\347\216\257\345\242\203\345\256\211\350\243\205\351\205\215\347\275\256/config.json" new file mode 100644 index 0000000..dcbe330 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/3.\347\216\257\345\242\203\345\256\211\350\243\205\351\205\215\347\275\256/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-f15df586747c4e648b6c6824c6b9b3e1", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/config.json" new file mode 100644 index 0000000..a6cafdf --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/1.GPU\346\236\266\346\236\204\345\217\212\345\274\202\346\236\204\350\256\241\347\256\227/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-8cc14ba50dbb4b00ba62a8070d2b599c", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/1.CUDA\347\250\213\345\272\217\347\232\204\347\274\226\350\257\221/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/1.CUDA\347\250\213\345\272\217\347\232\204\347\274\226\350\257\221/config.json" new file mode 100644 index 0000000..3f1afdb --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/1.CUDA\347\250\213\345\272\217\347\232\204\347\274\226\350\257\221/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-25c9eacb75e64d00bff3d14ffdec7ea7", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/2.GPU\347\272\277\347\250\213\347\232\204\350\260\203\347\224\250/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/2.GPU\347\272\277\347\250\213\347\232\204\350\260\203\347\224\250/config.json" new file mode 100644 index 0000000..60d0896 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/2.GPU\347\272\277\347\250\213\347\232\204\350\260\203\347\224\250/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-4756f243773643fd8064aa5b4ffdb789", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/3.GPU\345\222\214CPU\347\232\204\351\200\232\350\256\257/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/3.GPU\345\222\214CPU\347\232\204\351\200\232\350\256\257/config.json" new file mode 100644 index 0000000..f3f3f52 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/3.GPU\345\222\214CPU\347\232\204\351\200\232\350\256\257/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-bf38379916ce44978c6bfa3ef3487c71", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/4.\344\275\277\347\224\250\345\244\232\344\270\252\347\272\277\347\250\213\347\232\204\346\240\270\345\207\275\346\225\260/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/4.\344\275\277\347\224\250\345\244\232\344\270\252\347\272\277\347\250\213\347\232\204\346\240\270\345\207\275\346\225\260/config.json" new file mode 100644 index 0000000..6a987eb --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/4.\344\275\277\347\224\250\345\244\232\344\270\252\347\272\277\347\250\213\347\232\204\346\240\270\345\207\275\346\225\260/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-8c79c6a5e3ca441a9cee430f312407bf", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/5.\344\275\277\347\224\250\347\272\277\347\250\213\347\264\242\345\274\225/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/5.\344\275\277\347\224\250\347\272\277\347\250\213\347\264\242\345\274\225/config.json" new file mode 100644 index 0000000..0d6aab6 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/5.\344\275\277\347\224\250\347\272\277\347\250\213\347\264\242\345\274\225/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-b7fb5b2b91234dd89968918460ae506f", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/6.\345\244\232\347\273\264\347\275\221\347\273\234/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/6.\345\244\232\347\273\264\347\275\221\347\273\234/config.json" new file mode 100644 index 0000000..f3368d1 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/6.\345\244\232\347\273\264\347\275\221\347\273\234/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-ec664e92f8e2410b88226408d9bb9a9f", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/7.\347\275\221\346\240\274\344\270\216\347\272\277\347\250\213\345\235\227/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/7.\347\275\221\346\240\274\344\270\216\347\272\277\347\250\213\345\235\227/config.json" new file mode 100644 index 0000000..559225b --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/7.\347\275\221\346\240\274\344\270\216\347\272\277\347\250\213\345\235\227/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-70b301e021ef435f92c0f07b22adaa09", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/config.json" new file mode 100644 index 0000000..0072a10 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/2.\345\210\235\350\257\206CUDA/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-8b007eb550f842058b4bc0b2bc457c7e", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/1.\350\256\276\345\244\207\345\210\235\345\247\213\345\214\226/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/1.\350\256\276\345\244\207\345\210\235\345\247\213\345\214\226/config.json" new file mode 100644 index 0000000..c336ea1 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/1.\350\256\276\345\244\207\345\210\235\345\247\213\345\214\226/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-5f99fc5469cf4907ba3ebe615287a6e9", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/2.GPU\347\232\204\345\255\230\345\202\250\345\215\225\345\205\203/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/2.GPU\347\232\204\345\255\230\345\202\250\345\215\225\345\205\203/config.json" new file mode 100644 index 0000000..4430657 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/2.GPU\347\232\204\345\255\230\345\202\250\345\215\225\345\205\203/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-f336472c4c244a68b4a2ee80dac8fdd0", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/3.GPU\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\345\210\206\351\205\215\344\270\216\351\207\212\346\224\276/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/3.GPU\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\345\210\206\351\205\215\344\270\216\351\207\212\346\224\276/config.json" new file mode 100644 index 0000000..e62adbe --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/3.GPU\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\345\210\206\351\205\215\344\270\216\351\207\212\346\224\276/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-3443edc2ea5140b0a39f690382bf91e2", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/4.\346\225\260\346\215\256\347\232\204\344\274\240\350\276\223/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/4.\346\225\260\346\215\256\347\232\204\344\274\240\350\276\223/config.json" new file mode 100644 index 0000000..5759f37 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/4.\346\225\260\346\215\256\347\232\204\344\274\240\350\276\223/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-2244dd4b61cc478094ba7013770f1f29", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/5.\346\225\260\346\215\256\344\270\216\347\272\277\347\250\213\344\271\213\351\227\264\347\232\204\345\257\271\345\272\224\345\205\263\347\263\273/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/5.\346\225\260\346\215\256\344\270\216\347\272\277\347\250\213\344\271\213\351\227\264\347\232\204\345\257\271\345\272\224\345\205\263\347\263\273/config.json" new file mode 100644 index 0000000..0b41cd4 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/5.\346\225\260\346\215\256\344\270\216\347\272\277\347\250\213\344\271\213\351\227\264\347\232\204\345\257\271\345\272\224\345\205\263\347\263\273/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-3fa4ca2a53d74b9d92a11ba6a7f23306", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/config.json" new file mode 100644 index 0000000..4c650f4 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/3.CUDA\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-d7adf776b61b4829aea19181b8bd188b", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/1.CUDA\344\270\255\347\232\204\345\255\230\345\202\250\345\215\225\345\205\203\347\247\215\347\261\273/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/1.CUDA\344\270\255\347\232\204\345\255\230\345\202\250\345\215\225\345\205\203\347\247\215\347\261\273/config.json" new file mode 100644 index 0000000..edbe359 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/1.CUDA\344\270\255\347\232\204\345\255\230\345\202\250\345\215\225\345\205\203\347\247\215\347\261\273/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-73f87372510e4546a282aea26e371e53", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/2.CUDA\344\270\255\347\232\204\345\220\204\347\247\215\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250\346\226\271\346\263\225/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/2.CUDA\344\270\255\347\232\204\345\220\204\347\247\215\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250\346\226\271\346\263\225/config.json" new file mode 100644 index 0000000..512b46d --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/2.CUDA\344\270\255\347\232\204\345\220\204\347\247\215\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\344\275\277\347\224\250\346\226\271\346\263\225/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-3347d61cb34745a4adbe216f6eca305c", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/3.CUDA\344\270\255\347\232\204\345\220\204\347\247\215\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\351\200\202\347\224\250\346\235\241\344\273\266/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/3.CUDA\344\270\255\347\232\204\345\220\204\347\247\215\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\351\200\202\347\224\250\346\235\241\344\273\266/config.json" new file mode 100644 index 0000000..0359065 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/3.CUDA\344\270\255\347\232\204\345\220\204\347\247\215\345\255\230\345\202\250\345\215\225\345\205\203\347\232\204\351\200\202\347\224\250\346\235\241\344\273\266/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-73179a76ecd34f5dbf8e53b3a1e84228", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/config.json" new file mode 100644 index 0000000..ba01f7b --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/4.\345\244\232\347\247\215CUDA\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-95a89e2e13dc4c5c94c41eeb648107a5", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/1.\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/1.\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/config.json" new file mode 100644 index 0000000..8199ec0 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/1.\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\350\257\246\350\247\243/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-8965afc1396c4aad8fa3eaa203b6e3ac", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/2.\345\205\261\344\272\253\345\206\205\345\255\230\347\232\204Bank conflict/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/2.\345\205\261\344\272\253\345\206\205\345\255\230\347\232\204Bank conflict/config.json" new file mode 100644 index 0000000..1e56c8f --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/2.\345\205\261\344\272\253\345\206\205\345\255\230\347\232\204Bank conflict/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-3c183e532dcd44d88311a778f6958916", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/3.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\350\277\233\350\241\214\347\237\251\351\230\265\350\275\254\347\275\256\345\222\214\347\237\251\351\230\265\344\271\230\347\247\257/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/3.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\350\277\233\350\241\214\347\237\251\351\230\265\350\275\254\347\275\256\345\222\214\347\237\251\351\230\265\344\271\230\347\247\257/config.json" new file mode 100644 index 0000000..eb509a2 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/3.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\350\277\233\350\241\214\347\237\251\351\230\265\350\275\254\347\275\256\345\222\214\347\237\251\351\230\265\344\271\230\347\247\257/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-6560fcc5a5c9465b84aa0f15b9576b79", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/config.json" new file mode 100644 index 0000000..f6aa128 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/5.\345\210\251\347\224\250\345\205\261\344\272\253\345\255\230\345\202\250\345\215\225\345\205\203\344\274\230\345\214\226\345\272\224\347\224\250/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-288bccf96d9645e294723329219375eb", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/6.\347\273\237\344\270\200\345\206\205\345\255\230/1.\347\273\237\344\270\200\345\206\205\345\255\230\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265\345\222\214\344\275\277\347\224\250/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/6.\347\273\237\344\270\200\345\206\205\345\255\230/1.\347\273\237\344\270\200\345\206\205\345\255\230\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265\345\222\214\344\275\277\347\224\250/config.json" new file mode 100644 index 0000000..fbc2e0d --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/6.\347\273\237\344\270\200\345\206\205\345\255\230/1.\347\273\237\344\270\200\345\206\205\345\255\230\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265\345\222\214\344\275\277\347\224\250/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-e2ec9573577d42fdbed66392ffc835d3", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/6.\347\273\237\344\270\200\345\206\205\345\255\230/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/6.\347\273\237\344\270\200\345\206\205\345\255\230/config.json" new file mode 100644 index 0000000..76351f4 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/6.\347\273\237\344\270\200\345\206\205\345\255\230/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-545f2bfb1f8b4102ad4b50dd376ebc23", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/config.json" "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/config.json" new file mode 100644 index 0000000..b1e9042 --- /dev/null +++ "b/data/1.CUDA\345\205\245\351\227\250\345\210\235\351\230\266/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-0f5c808b1251449fb296063ff1d324d1", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/1.CUDA\345\272\224\347\224\250\347\250\213\345\272\217\350\277\220\350\241\214\346\227\266\347\232\204\351\224\231\350\257\257\346\243\200\346\265\213/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/1.CUDA\345\272\224\347\224\250\347\250\213\345\272\217\350\277\220\350\241\214\346\227\266\347\232\204\351\224\231\350\257\257\346\243\200\346\265\213/config.json" new file mode 100644 index 0000000..5a78d0e --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/1.CUDA\345\272\224\347\224\250\347\250\213\345\272\217\350\277\220\350\241\214\346\227\266\347\232\204\351\224\231\350\257\257\346\243\200\346\265\213/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-634b3d9492044bafb7a089431c878879", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/2.CUDA\344\270\255\347\232\204\344\272\213\344\273\266/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/2.CUDA\344\270\255\347\232\204\344\272\213\344\273\266/config.json" new file mode 100644 index 0000000..85753c5 --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/2.CUDA\344\270\255\347\232\204\344\272\213\344\273\266/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-5a542af3254b49a8ab5266364d421e47", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/config.json" new file mode 100644 index 0000000..b21c361 --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/1.CUA\351\224\231\350\257\257\346\243\200\346\265\213\344\270\216\344\272\213\344\273\266/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-346e5f64d0904f63baccd001ef8b676b", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/1.CUDA\344\270\255\347\232\204\345\216\237\345\255\220\346\223\215\344\275\234/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/1.CUDA\344\270\255\347\232\204\345\216\237\345\255\220\346\223\215\344\275\234/config.json" new file mode 100644 index 0000000..1de04db --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/1.CUDA\344\270\255\347\232\204\345\216\237\345\255\220\346\223\215\344\275\234/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-10a7cead25f14eeaaf0730ff2468cb90", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/2.\345\216\237\345\255\220\346\223\215\344\275\234\347\232\204\351\200\202\347\224\250\345\234\272\346\231\257/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/2.\345\216\237\345\255\220\346\223\215\344\275\234\347\232\204\351\200\202\347\224\250\345\234\272\346\231\257/config.json" new file mode 100644 index 0000000..b034343 --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/2.\345\216\237\345\255\220\346\223\215\344\275\234\347\232\204\351\200\202\347\224\250\345\234\272\346\231\257/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-9e74b1fb163e46bb8cc2e72b3c9990a9", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/config.json" new file mode 100644 index 0000000..fd0d978 --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/2.\345\216\237\345\255\220\346\223\215\344\275\234/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-6f61fc7ce2ef413886354ac2dfab2b27", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/1.CUDA\346\265\201\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/1.CUDA\346\265\201\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265/config.json" new file mode 100644 index 0000000..9a5b574 --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/1.CUDA\346\265\201\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-a95b22ce131e42979daabc1f2ec82886", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/2.\351\273\230\350\256\244\346\265\201\344\270\216\351\235\236\351\273\230\350\256\244\346\265\201/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/2.\351\273\230\350\256\244\346\265\201\344\270\216\351\235\236\351\273\230\350\256\244\346\265\201/config.json" new file mode 100644 index 0000000..f54c0af --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/2.\351\273\230\350\256\244\346\265\201\344\270\216\351\235\236\351\273\230\350\256\244\346\265\201/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-93c84af94c154430b93094befb70f5c8", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/3.\345\210\251\347\224\250CUDA\346\265\201\351\207\215\345\217\240\350\256\241\347\256\227\345\222\214\346\225\260\346\215\256\344\274\240\350\276\223/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/3.\345\210\251\347\224\250CUDA\346\265\201\351\207\215\345\217\240\350\256\241\347\256\227\345\222\214\346\225\260\346\215\256\344\274\240\350\276\223/config.json" new file mode 100644 index 0000000..35acf4b --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/3.\345\210\251\347\224\250CUDA\346\265\201\351\207\215\345\217\240\350\256\241\347\256\227\345\222\214\346\225\260\346\215\256\344\274\240\350\276\223/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-24b5313252644192b40894d9d677a40f", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/config.json" new file mode 100644 index 0000000..3fb2423 --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/3.CUDA stream/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-5d11b746f9f34965a77bb8e6777c3ba9", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/config.json" "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/config.json" new file mode 100644 index 0000000..aaa1588 --- /dev/null +++ "b/data/2.CUDA\345\205\245\351\227\250\344\270\255\351\230\266/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-c77a77ca93f546dda09ec621380b04f1", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/1.\345\210\251\347\224\250Nsight\347\255\211\345\210\206\346\236\220\345\267\245\345\205\267\345\257\271\347\250\213\345\272\217\346\200\247\350\203\275\350\277\233\350\241\214\345\210\206\346\236\220/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/1.\345\210\251\347\224\250Nsight\347\255\211\345\210\206\346\236\220\345\267\245\345\205\267\345\257\271\347\250\213\345\272\217\346\200\247\350\203\275\350\277\233\350\241\214\345\210\206\346\236\220/config.json" new file mode 100644 index 0000000..d68e46f --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/1.\345\210\251\347\224\250Nsight\347\255\211\345\210\206\346\236\220\345\267\245\345\205\267\345\257\271\347\250\213\345\272\217\346\200\247\350\203\275\350\277\233\350\241\214\345\210\206\346\236\220/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-1698eb54bf894cf48d27b11baaf03916", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/2.\346\240\271\346\215\256\345\256\236\351\231\205\347\241\254\344\273\266\350\260\203\346\225\264\347\250\213\345\272\217/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/2.\346\240\271\346\215\256\345\256\236\351\231\205\347\241\254\344\273\266\350\260\203\346\225\264\347\250\213\345\272\217/config.json" new file mode 100644 index 0000000..2e7d359 --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/2.\346\240\271\346\215\256\345\256\236\351\231\205\347\241\254\344\273\266\350\260\203\346\225\264\347\250\213\345\272\217/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-e1ca07a17c9443b5af7c0d22b4bff705", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/config.json" new file mode 100644 index 0000000..b09cef3 --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/1.CUDA \350\260\203\350\257\225\345\210\206\346\236\220/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-60427e3bc2ea4308a250e2716efe4ed8", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/1.\345\255\230\345\202\250\344\274\230\345\214\226/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/1.\345\255\230\345\202\250\344\274\230\345\214\226/config.json" new file mode 100644 index 0000000..46473c8 --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/1.\345\255\230\345\202\250\344\274\230\345\214\226/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-5f1d7d26ebff499abb0ee0aeb66da328", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/2.\346\211\247\350\241\214\350\256\276\347\275\256\344\274\230\345\214\226/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/2.\346\211\247\350\241\214\350\256\276\347\275\256\344\274\230\345\214\226/config.json" new file mode 100644 index 0000000..08f863f --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/2.\346\211\247\350\241\214\350\256\276\347\275\256\344\274\230\345\214\226/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-8e9c726f99b84fa685d6e5cce061fd9d", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/3.\346\214\207\344\273\244\347\272\247\344\274\230\345\214\226/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/3.\346\214\207\344\273\244\347\272\247\344\274\230\345\214\226/config.json" new file mode 100644 index 0000000..dcd64eb --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/3.\346\214\207\344\273\244\347\272\247\344\274\230\345\214\226/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-d1a8d39fbc4247f394c9979f1cf2cac7", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/4.\346\216\247\345\210\266\346\265\201\344\274\230\345\214\226/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/4.\346\216\247\345\210\266\346\265\201\344\274\230\345\214\226/config.json" new file mode 100644 index 0000000..8b83eae --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/4.\346\216\247\345\210\266\346\265\201\344\274\230\345\214\226/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-18f6a05677194f78bf61c456dddf0905", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/config.json" new file mode 100644 index 0000000..c668d5f --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/2.CUDA \344\274\230\345\214\226/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-fb7d53daa17e4db09234d87558508e81", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/1.cuBLAS/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/1.cuBLAS/config.json" new file mode 100644 index 0000000..7ba03eb --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/1.cuBLAS/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-19170998ef3c4b9a9ab808a989ed29f3", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/2.cuFFT/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/2.cuFFT/config.json" new file mode 100644 index 0000000..b930556 --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/2.cuFFT/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-9c80239f362c4b28aa40bf55a5f2de81", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/3.cuRAND/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/3.cuRAND/config.json" new file mode 100644 index 0000000..28140fc --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/3.cuRAND/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-e1f4431b5a10485985345315c55762bc", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/4.cuSPARSE/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/4.cuSPARSE/config.json" new file mode 100644 index 0000000..9ba3654 --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/4.cuSPARSE/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-88eb3bc83d4c425583fea7bf547483a6", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/5.cuDNN/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/5.cuDNN/config.json" new file mode 100644 index 0000000..b11c0be --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/5.cuDNN/config.json" @@ -0,0 +1,8 @@ +{ + "node_id": "cuda-083766b88b3647679d2067ec60ccfcdd", + "keywords": [], + "children": [], + "export": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/config.json" new file mode 100644 index 0000000..5954778 --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/3.CUDA \345\212\240\351\200\237\345\272\223/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-923b4ee7f3134962933344a5d7b8ff4c", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/config.json" "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/config.json" new file mode 100644 index 0000000..f240acb --- /dev/null +++ "b/data/3.CUDA\345\205\245\351\227\250\351\253\230\351\230\266/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "cuda-ade73748ee304a6997e6a24cbc0d69ac", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git a/data/config.json b/data/config.json new file mode 100644 index 0000000..2ff3a9b --- /dev/null +++ b/data/config.json @@ -0,0 +1,7 @@ +{ + "tree_name": "cuda", + "keywords": [], + "node_id": "cuda-a39f9a57edfe4dd48fce8d68e950db24", + "keywords_must": [], + "keywords_forbid": [] +} \ No newline at end of file diff --git a/data/tree.json b/data/tree.json new file mode 100644 index 0000000..f146897 --- /dev/null +++ b/data/tree.json @@ -0,0 +1,520 @@ +{ + "cuda": { + "node_id": "cuda-a39f9a57edfe4dd48fce8d68e950db24", + "keywords": [], + "children": [ + { + "CUDA入门初阶": { + "node_id": "cuda-0f5c808b1251449fb296063ff1d324d1", + "keywords": [], + "children": [ + { + "GPU架构及异构计算": { + "node_id": "cuda-8cc14ba50dbb4b00ba62a8070d2b599c", + "keywords": [], + "children": [ + { + "介绍GPU架构以及异构计算的基本原理": { + "node_id": "cuda-bdd8df6c59d0460bbf30d3a4a6203b06", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "介绍GPU硬件平台": { + "node_id": "cuda-8acef8aa3f7b479d90b7eaf77ff752eb", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "环境安装配置": { + "node_id": "cuda-f15df586747c4e648b6c6824c6b9b3e1", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "初识CUDA": { + "node_id": "cuda-8b007eb550f842058b4bc0b2bc457c7e", + "keywords": [], + "children": [ + { + "CUDA程序的编译": { + "node_id": "cuda-25c9eacb75e64d00bff3d14ffdec7ea7", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "GPU线程的调用": { + "node_id": "cuda-4756f243773643fd8064aa5b4ffdb789", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "GPU和CPU的通讯": { + "node_id": "cuda-bf38379916ce44978c6bfa3ef3487c71", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "使用多个线程的核函数": { + "node_id": "cuda-8c79c6a5e3ca441a9cee430f312407bf", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "使用线程索引": { + "node_id": "cuda-b7fb5b2b91234dd89968918460ae506f", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "多维网络": { + "node_id": "cuda-ec664e92f8e2410b88226408d9bb9a9f", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "网格与线程块": { + "node_id": "cuda-70b301e021ef435f92c0f07b22adaa09", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "CUDA存储单元的使用": { + "node_id": "cuda-d7adf776b61b4829aea19181b8bd188b", + "keywords": [], + "children": [ + { + "设备初始化": { + "node_id": "cuda-5f99fc5469cf4907ba3ebe615287a6e9", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "GPU的存储单元": { + "node_id": "cuda-f336472c4c244a68b4a2ee80dac8fdd0", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "GPU存储单元的分配与释放": { + "node_id": "cuda-3443edc2ea5140b0a39f690382bf91e2", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "数据的传输": { + "node_id": "cuda-2244dd4b61cc478094ba7013770f1f29", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "数据与线程之间的对应关系": { + "node_id": "cuda-3fa4ca2a53d74b9d92a11ba6a7f23306", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "多种CUDA存储单元详解": { + "node_id": "cuda-95a89e2e13dc4c5c94c41eeb648107a5", + "keywords": [], + "children": [ + { + "CUDA中的存储单元种类": { + "node_id": "cuda-73f87372510e4546a282aea26e371e53", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "CUDA中的各种存储单元的使用方法": { + "node_id": "cuda-3347d61cb34745a4adbe216f6eca305c", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "CUDA中的各种存储单元的适用条件": { + "node_id": "cuda-73179a76ecd34f5dbf8e53b3a1e84228", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "利用共享存储单元优化应用": { + "node_id": "cuda-288bccf96d9645e294723329219375eb", + "keywords": [], + "children": [ + { + "共享存储单元详解": { + "node_id": "cuda-8965afc1396c4aad8fa3eaa203b6e3ac", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "共享内存的Bank conflict": { + "node_id": "cuda-3c183e532dcd44d88311a778f6958916", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "利用共享存储单元进行矩阵转置和矩阵乘积": { + "node_id": "cuda-6560fcc5a5c9465b84aa0f15b9576b79", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "统一内存": { + "node_id": "cuda-545f2bfb1f8b4102ad4b50dd376ebc23", + "keywords": [], + "children": [ + { + "统一内存的基本概念和使用": { + "node_id": "cuda-e2ec9573577d42fdbed66392ffc835d3", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "CUDA入门中阶": { + "node_id": "cuda-c77a77ca93f546dda09ec621380b04f1", + "keywords": [], + "children": [ + { + "CUA错误检测与事件": { + "node_id": "cuda-346e5f64d0904f63baccd001ef8b676b", + "keywords": [], + "children": [ + { + "CUDA应用程序运行时的错误检测": { + "node_id": "cuda-634b3d9492044bafb7a089431c878879", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "CUDA中的事件": { + "node_id": "cuda-5a542af3254b49a8ab5266364d421e47", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "原子操作": { + "node_id": "cuda-6f61fc7ce2ef413886354ac2dfab2b27", + "keywords": [], + "children": [ + { + "CUDA中的原子操作": { + "node_id": "cuda-10a7cead25f14eeaaf0730ff2468cb90", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "原子操作的适用场景": { + "node_id": "cuda-9e74b1fb163e46bb8cc2e72b3c9990a9", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "CUDA stream": { + "node_id": "cuda-5d11b746f9f34965a77bb8e6777c3ba9", + "keywords": [], + "children": [ + { + "CUDA流的基本概念": { + "node_id": "cuda-a95b22ce131e42979daabc1f2ec82886", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "默认流与非默认流": { + "node_id": "cuda-93c84af94c154430b93094befb70f5c8", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "利用CUDA流重叠计算和数据传输": { + "node_id": "cuda-24b5313252644192b40894d9d677a40f", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "CUDA入门高阶": { + "node_id": "cuda-ade73748ee304a6997e6a24cbc0d69ac", + "keywords": [], + "children": [ + { + "CUDA 调试分析": { + "node_id": "cuda-60427e3bc2ea4308a250e2716efe4ed8", + "keywords": [], + "children": [ + { + "利用Nsight等分析工具对程序性能进行分析": { + "node_id": "cuda-1698eb54bf894cf48d27b11baaf03916", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "根据实际硬件调整程序": { + "node_id": "cuda-e1ca07a17c9443b5af7c0d22b4bff705", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "CUDA 优化": { + "node_id": "cuda-fb7d53daa17e4db09234d87558508e81", + "keywords": [], + "children": [ + { + "存储优化": { + "node_id": "cuda-5f1d7d26ebff499abb0ee0aeb66da328", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "执行设置优化": { + "node_id": "cuda-8e9c726f99b84fa685d6e5cce061fd9d", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "指令级优化": { + "node_id": "cuda-d1a8d39fbc4247f394c9979f1cf2cac7", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "控制流优化": { + "node_id": "cuda-18f6a05677194f78bf61c456dddf0905", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "CUDA 加速库": { + "node_id": "cuda-923b4ee7f3134962933344a5d7b8ff4c", + "keywords": [], + "children": [ + { + "cuBLAS": { + "node_id": "cuda-19170998ef3c4b9a9ab808a989ed29f3", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "cuFFT": { + "node_id": "cuda-9c80239f362c4b28aa40bf55a5f2de81", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "cuRAND": { + "node_id": "cuda-e1f4431b5a10485985345315c55762bc", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "cuSPARSE": { + "node_id": "cuda-88eb3bc83d4c425583fea7bf547483a6", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + }, + { + "cuDNN": { + "node_id": "cuda-083766b88b3647679d2067ec60ccfcdd", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } + } + ], + "keywords_must": [], + "keywords_forbid": [] + } +} \ No newline at end of file diff --git a/data/tree_simple.json b/data/tree_simple.json new file mode 100644 index 0000000..0e8cb09 --- /dev/null +++ b/data/tree_simple.json @@ -0,0 +1,88 @@ +{ + "level":{ + "level_0": [ + "GPU架构及异构计算", + "初识CUDA", + "CUDA存储单元的使用", + "多种CUDA存储单元详解", + "利用共享存储单元优化应用", + "统一内存" + ], + "level_1":[ + "CUA错误检测与事件", + "原子操作", + "CUDA stream" + ], + "level_2": [ + "CUDA 调试分析", + "CUDA 优化", + "CUDA 加速库" + ] + }, + "tree": { + "GPU架构及异构计算":[ + "介绍GPU架构以及异构计算的基本原理", + "介绍GPU硬件平台", + "环境安装配置" + ], + "初识CUDA": [ + "CUDA程序的编译", + "GPU线程的调用", + "GPU和CPU的通讯", + "使用多个线程的核函数", + "使用线程索引", + "多维网络", + "网格与线程块" + ], + "CUDA存储单元的使用": [ + "设备初始化", + "GPU的存储单元", + "GPU存储单元的分配与释放", + "数据的传输", + "数据与线程之间的对应关系" + ], + "多种CUDA存储单元详解": [ + "CUDA中的存储单元种类", + "CUDA中的各种存储单元的使用方法", + "CUDA中的各种存储单元的适用条件" + ], + "利用共享存储单元优化应用": [ + "共享存储单元详解", + "共享内存的Bank conflict", + "利用共享存储单元进行矩阵转置和矩阵乘积" + ], + "统一内存": [ + "统一内存的基本概念和使用" + ], + "CUA错误检测与事件": [ + "CUDA应用程序运行时的错误检测", + "CUDA中的事件" + ], + "原子操作": [ + "CUDA中的原子操作", + "原子操作的适用场景" + ], + "CUDA stream": [ + "CUDA流的基本概念", + "默认流与非默认流", + "利用CUDA流重叠计算和数据传输" + ], + "CUDA 调试分析": [ + "利用Nsight等分析工具对程序性能进行分析", + "根据实际硬件调整程序" + ], + "CUDA 优化": [ + "存储优化", + "执行设置优化", + "指令级优化", + "控制流优化" + ], + "CUDA 加速库": [ + "cuBLAS", + "cuFFT", + "cuRAND", + "cuSPARSE", + "cuDNN" + ] + } +} \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..74b399b --- /dev/null +++ b/main.py @@ -0,0 +1,5 @@ +from skill_tree.tree import TreeWalker, load_json, dump_json + +if __name__ == '__main__': + walker = TreeWalker("data", "cuda", "CUDA入门", ignore_keywords=True) + walker.walk() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..0abd88a --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +.pre_commit +skill-tree-parser \ No newline at end of file -- GitLab