Кіріспе

Fortran параллельді бағдарламалау кеңейтімі

Coarray Fortran (CAF), бұрын F деп аталған, 1990 жылдары Роберт Нумрих және Джон Рид жасаған Fortran 95/2003 параллель өңдеуі үшін жасалған кеңейтім ретінде пайда болды. Fortran 2008 стандарты (ISO/IEC 1539 1:2010) енді коаррейлерді (дефиссіз жазылады) қамтиды, бұл 2005 жылдың мамырындағы ISO Fortran комитетінің мәжілісінде шешілді; Fortran 2008 стандартындағы синтаксис бастапқы CAF ұсынысынан сәл өзгеше. CAF бағдарламасы бірнеше рет көшірілгендей және барлық көшірмелері асинхронды түрде орындалғандай түсіндіріледі. Әрбір көшірмеде өзінің деректер объектілерінің жиынтығы болады және ол «бейне» деп аталады. Fortran массивінің синтаксисі, кескіндерге таратылған деректерге сілтемелерді ықшам түрде көрсету үшін квадрат жақшалар ішіндегі қосымша индекспен кеңейтіледі. CAF кеңейтімі Cray (3.1 нұсқасынан бастап) сияқты кейбір Fortran компиляторларында іске асырылды. Fortran 2008 стандартына коаррейлерді қосылғаннан бері, іске асырулардың саны артып келеді. Linux архитектуралары үшін Fortran 2008 стандартында көрсетілгендей коаррейлерді іске асырған алғашқы ашық кодты компилятор G95 болып табылады. Қазіргі уақытта GNU Fortran, Fortran-ның коаррей мүмкіндіктерін бір және көп бейнелі конфигурацияда кеңінен қамтиды (соңғысы OpenCoarrays кітапханасына негізделген). Coarray және Fortran 2008-ден туындаған параллель кеңейтулердің тағы бір іске асырылуы Хьюстон университетінде әзірленген OpenUH компиляторында (Open64 тармағы) қолжетімді.

Компиляторларға енгізу

CAF көбінесе портативтілік үшін Message Passing Interface (MPI) кітапханасы негізінде іске асырылады. Кейбір іске асырулар, мысалы GNU Fortran және OpenUH компиляторларындағылары, бөлінген жаһандық адрестік кеңістік тілдерін қолдауға арналған басқа төменгі деңгейдегі қабаттардың (мысалы, GASNet) үстінде жұмыс істей алады.