簡體   English   中英

使用-O2優化和OpenMP

[英]Using -O2 optimization and OpenMP

是否有可能-O2優化標志重新排列代碼,從而可能使多線程應用程序無法正常工作?

由於我的意思是由什么的例子un-intended behavior代碼被重新排列時:為每個線程被創建(由程序員)聲明的變量被移動外側#pragma omp parallal使得僅一個拷貝被創建,由所有線程共享。

不,這不可能發生。 如果編譯器展開循環或者當編譯器重新排序循環時程序崩潰,OpenMP將不會非常有用。 OpenMP指令必須指定變量和並行作用域的依賴關系和副作用,編譯器在應用優化過程時會將它們考慮在內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM