我正在分析一個呼叫詳細記錄的大型數據集。我從mysql數據庫中獲取詳細信息,並提取用戶和通話時間詳細信息,並彙總每個用戶的通話時間總和。使用opencl parallel progarmming分析CDR
我分配了10000000個大小的輸出緩衝區來存儲輸出結果,並調用了從mysql數據庫得到的全部數據的內核。在內核中,我使用原子加法來總結特定用戶的持續時間。
在籽粒代碼
atomic_add(&outputbuffer[userid],duration)
它完美。
但我擔心大輸出緩衝區分配。即使要獲得100000個數據集的結果,我們也必須通過整個輸出內存。
難道我們不能在內核中做「哈希映射」類的東西嗎?我們如何使用「映射減少」來解決這類問題。
每當我嘗試這種方法,我無法避免與並行進程衝突。
我經歷了許多教程和在這個網站上的問題與我的問題有關。但不幸的是,我無法得到任何有用的指南。
如果有人能提出解決這個問題的想法,那將會有所幫助。
在此先感謝。
謝謝埃裏克。這非常有幫助。 – Jey