我一直工作在一個PyOpenCL程序,將採取在OpenCL內核(代表圖像過濾器)和圖像並應用所述過濾器,以生成輸出圖像。問題是我需要讓這個程序在任何大小的圖像上運行。我使用Cloo(http://sourceforge.net/projects/cloo/)框架編寫了一個類似的程序,但是我想讓一些東西更具可移植性(因爲Cloo框架失敗了)在Linux上正常運行)。我該如何處理OpenCL中的超大圖像?
現在,在我的C#實現,我只是分裂圖像成塊,並運行在每個塊的內核。我通過在我的內核中以純字節數組的形式處理圖像來實現這一點。然而,我現在遇到的問題是,我試圖在我的PyOpenCL實現中使用image2d_t數據類型,並且我不知道如何將圖像分塊並將其傳遞給內核。
是否image2d_t類添加填充到返回的圖像(即我需要進行後處理),或者它可能支持某種自動化的方法,將處理這個給我嗎?
會指出我在正確的方向的資源都非常感謝!
編輯:我想我應該提到,我想這樣做的原因是因爲我遇到內存分配異常與我目前的版本(因爲圖像太大)。
多大「極大」? –
某處在16000 x 9000或更大的範圍內。 – Switch