2016-01-06 107 views
1

我嘗試編譯克雷Fortran編譯的OpenACC的FORTAN代碼...與Cray公司的編譯器編譯OpenACC的Fortran代碼

crayftn -o msqcomp -h omp -h acc msquared.f90 

失敗,出現錯誤消息

ftn-1350 crayftn: WARNING in command line 
    Command line option "-hacc" is being ignored because an accelerator target has not been specified. 

因此很明顯,我必須指定目標加速器。問題是,我無法在任何地方找到任何文檔,而不是在Bing搜索中,尤其是在crayftn手冊頁中。任何人都知道要使用哪些標誌?

順便說一句,我想編譯一個nvidia特斯拉K40。現在我暫時堅持使用Cray編譯器。即使我現在可以使用另一個編譯器,我最終也必須爲crayftn解決這個問題。謝謝。

+0

你有做'模塊加載craype-accel-nvidia35'嗎? http://docs.cray.com/books/S-3901-84/S-3901-84.pdf –

回答

4

您可以在編譯之前加載適當的模塊來設置目標。你可能想要這個目標:

模塊加載craype - 加速 - nvidia35

那麼你應該編譯使用「FTN」包裝命令,而不是「crayftn」命令。

「-h omp」是Cray編譯器的默認值,因此您不需要此標誌。

「-h acc」是上述模塊加載時的默認值,因此也是可選的。

有關詳細信息,請參閱「man crayftn」和「man openacc」。

+0

Re:目標,我複製粘貼太快。這是我試圖讓這項工作努力的許多變化之一。我的意思是複製和粘貼更「標準」的變體。抱歉。編輯了這個問題。 Re:crayftn,我確實使用過ftn,但是我認爲 - 當我開槍時 - 如果我在問題中提出這個問題,有人會說:「嘿,我們無法真正知道你在使用什麼編譯器!」 Re:OpenMP,實際上我確實需要這個代碼,儘管我明白它與這個問題無關。謝謝。我們現在要給你的建議一個嘗試。 –

+0

我的意思是「-h omp」標誌是可選的,因爲OpenMP是自動支持的。我編輯了答案,使其更清晰。 – ahart

+0

還沒有走出困境,但你讓我過去了這個問題。我接受你的答案。謝謝。 –