OpenMP 在NDK中使用

最近在用NDK R9編譯so,打開-fopenmp

LOCAL_CFLAGS += -pie -fPIE  -shared  -fopenmp
LOCAL_LDFLAGS += -pie -fPIE -shared  -fopenmp
後運行core dump


openmp 在android上crash的解決方案

http://www.cnblogs.com/octave/p/5942907.html

這是個GOMP已知的問題,參見 bug42616, bug52738。如果在非主線程上使用openmp指令或者函數,會crash。這是因爲在android上gomp_thread(libgomp/libgomp.h文件中)函數對於用戶創建的線程返回NULL 

解決方法: 將#pragma omp parallel for 運行在主線程

其他解決方式未試


在mk中去掉 $(LOCAL_PATH)/collage_polygon.cpp
$(LOCAL_PATH), 編譯出來so 速度有很大提升,不知道是否是ndk隱藏bug



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章