想请教有没有人有使用GPU加速SQL速度的经验
虽然我还没实作,但以下是我的猜测
(Centos 7, C++, CUDA in C++, MariaDB, CPU八核心)
﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍
程式的执行是由int main开始
接着并发一千个cuda thread, parse “mysqlcppconn” lib给每个thread
(mysqlcppconn 是一个mysql写给C++ lib, mariadb也可用)
每个thread单独连接mariadb,mariadb不设thread pool,也就是one thread per connection
cuda thread 执行完query, 返回结果给int main
﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍
根据我的猜测,以下这几点是不是正确的呢?
1. mariadb的query 执行一样是CPU,不管是直接c++呼叫,还是从一千个cuda thread
2. 根据1, 只是一千个query在CPU一直task switch
另外,上网查GPU-based的SQL, 好像SQLite目前有支援GPU执行
https://www.cs.virginia.edu/~skadron/Papers/bakkum_sqlite_gpgpu10.pdf
http://wscg.zcu.cz/wscg2014/Short%5CK17-full.pdf
我还没时间仔细看,但直接看结论,似乎SQLite可以真正作到
把“SQLite”包在每个cuda thread,真的是同时执行一千个sql query
而不是还要透过CPU一层
希望可以听到有经验的人的分享,谢谢