查看完整版本 : Intel GPU QuickSort + BitonicSort Crossover, 效能是...

煙民母親生賤種 2017-11-19 03:38 PM

Intel GPU QuickSort + BitonicSort Crossover, 效能是...

一間咁大既公司, 竟然可以寫到咁慢既 GPU sorting ...
但已經使用到 Quicksort mixed with Bitonic sort ...
memory 使用, 應該係 2~3N (睇 code 估計)

openCL 提倡 cross platform and cross devices (intel,amd, nv...)。 intel 係推動 openCL 主力之一, 但好奇怪, 佢用既 code 全部都係 platform dependent。即係  windows。效能差不突止, 仲要植入式廣告叫人用 win platform。我一路改 code, 個 windows update 就係咁 write 個 HDD, 最尾部份突然個 mon 閃一閃...... run 唔到, 原來又強迫 update ... windows 真係唔 ? 掂!! :fst_004:

開頭以為佢個 quick sort cpu version 係 multi thread , 完來唔係。咁既情況下又話自己快過 cpu 幾多倍... :fst_016:

N = 5千萬
framework: opencl 1.2
memory: vram
Algorithm: QuickSort + Bitonic
Time used: 2.X 秒 :fst_008:
-----------------------------------

[attach]7583199[/attach]


當使用到N= 5 億時, 很多時出現無 sort 的情況 (不過呢 D 應該memory allocation 問題, 可以改 code 搞到)
[attach]7583200[/attach]


我 compile 左 2 個 binary 32bit and 64bit, 大家可以玩下
用法
----------------------------------------------------
exe 後跟 5 gpu intel 8192 8192 show_CL.
5 = loop 5 次, 然後計個 avg time
intel / amd / nvidia 自己打返張咭的名
8192 8192 即係 width x height 即係 = N , 可以寫成 5000000 2 (即係 1 千萬個)
show_cl 即係 show device info
------------------------------------------------------------------
download:
x64
[url=https://drive.google.com/open?id=1_RGXXPJgJE6Zl1kdLuQO3p7POVfyExdF]https://drive.google.com/open?id=1_RGXXPJgJE6Zl1kdLuQO3p7POVfyExdF[/url]

x86
[url=https://drive.google.com/open?id=1xh1qi6XnVEIBmpDj8krsBEdx5Kr519-Y]https://drive.google.com/open?id=1xh1qi6XnVEIBmpDj8krsBEdx5Kr519-Y[/url]


core part of code for reference:
[url=http://rextester.com/UEES15160]http://rextester.com/UEES15160[/url]

[[i] 本帖最後由 煙民母親生賤種 於 2017-11-20 01:07 AM 編輯 [/i]]
頁: [1]
查看完整版本: Intel GPU QuickSort + BitonicSort Crossover, 效能是...