# 章序

我之前是做deep learning framework的，同样的代码，在Mali GPU上比在Adreno GPU 上慢几十倍。鉴于两者的硬件差距应该没有这么大，我觉得可能是驱动的问题。作为和kernel直接打交道的东西，驱动我实在是搞不明白。但是现在弄不明白，不见得将来就能弄明白啊，lol。为了克服自己的皮，以及想当作一个笔记，我决定把它加入《年子》来记录我对GPU kernel的理解和认识。由于我在看driver代码的时候才发现自己不是很懂Linux那一套，此章可能会repeat Linux的一部分内容，希望大神们见谅。

GPU driver需要处理很多东西，首先需要把GPU注册到系统里，其次还要能接受你提交的任务，内部应该还有一个scheduler去schedule所有的tasks。由于每一项都涉及很多步骤，我会用流程图给表示出来，并且还会加上必要的讲解，以防止我忘了是咋回事儿。

就是这样。。。
