141
Компилятор нашар ма? Әрине жоқ, тек дәл осы жағдайда ол ештеңе де істей
алмайды. Осыған ұқсас, фрагменттің шынайы құрылымын анықтау
компиляторға күрделі болатын, олай болса тиімді параллель іске асыру да
күрделі болатын мысалдарды кӛптеп келтіруге болады. Туындайтын
мәселелерді шешу қабілеті тӛмен деп әрине компиляторды кіналап қажеті
жоқ. Практика емес теория жүзінде де бағдарламалау тілінің
заңдылықтарына сәйкес жазылған еркін фрагментті толықтай талдаудан
ӛткізу мүмкін емес. Егер компьютерлердің архитектурасы күрделі болмаса,
онда компиляторлар дәстүрлі тізбекті бағдарламалардан да тиімді кодтарды
генерациялауға толық жағдайлары бар. Кері жағдайда компиляторға
бағдарламаның қайсібір қасиеттеріне сілтеме жасайтын «жӛн сілтеулер»
қажет.
Компиляторға жӛн сілтеулер әртүрлі формада ӛрнектелуі мүмкін. Бір
жағдайларда
комментарийлермен
жазылған
арнайы
директивалар
пайдаланылады, келесі бір жағдайларда тілге жаңа конструкциялар енгізіледі,
кӛбіне қосымша қызметтік функциялар пайдаланылады. Типтік байланыс:
дәстүрлі тізбекті тіл + қарастырылған тәсілдердің қандай да бір
комбинациясы.
Бағдарлама
текстіне
комментариилерімен
арнайы
директиваларды пайдалануға негізделген параллель компьютерлермен жұмыс
істеуге арналған ең танымал Fortran тілінің кеңейтілімінің бірі - High
Performance Fortran (HPF). Ӛткен ғасырдың 90-шы жылдарының ортасында
HPF-ке үлкен үміт артылған болатын, ӛйткені бұл тіл бірден
тасымалданатын
параллель бағдарламаларды құрастыруға бағытталған болатын. HPF пайда
болу уақыты компьютерлердің массалық параллельдігінің даму периодымен
дәл келіп, ол кезде бағдарламалардың тасымалдану мәселесі ӛте ӛзекті мәселе
болды. Алайда бұл жол қабылданбады, себебі HPF конструкциясының
күрделілігі оны тиімді компиляторларды құру жолындағы алынбас қамалға
айналдырды десе болады.
Достарыңызбен бөлісу: