stringtranslate.com

Abierto64

Open64 es un compilador optimizador gratuito y de código abierto para las arquitecturas de microprocesadores Itanium y x86-64 . Deriva de los compiladores SGI para el procesador MIPS R10000 , llamados MIPSPro . Fue lanzado inicialmente en 2000 como software GNU GPL bajo el nombre Pro64. Al año siguiente, la Universidad de Delaware adoptó el proyecto y renombró el compilador a Open64. Ahora sirve principalmente como una plataforma de investigación para grupos de investigación de compiladores y arquitectura de computadoras . Open64 es compatible con Fortran 77/95 y C / C++ , así como con el modelo de programación de memoria compartida OpenMP . Puede realizar análisis interprocedimentales de alta calidad , análisis de flujo de datos , análisis de dependencia de datos y análisis de regiones de matriz. El desarrollo ha cesado, aunque otros proyectos pueden usar la fuente del proyecto.

La infraestructura

Sus componentes principales son el frontend para C/C++ (utilizando GCC ) y Fortran 77/90 (utilizando el frontend y las bibliotecas de CraySoft), el análisis interprocedimental (IPA), el optimizador de bucles anidados (LNO), el optimizador global (WOPT) y el generador de código (CG). A pesar de haber sido escrito inicialmente para una única arquitectura informática, Open64 ha demostrado que puede generar código eficiente para arquitecturas CISC , RISC y VLIW , incluidas MIPS , x86 , IA-64 , ARM y otras.

Representación intermedia

En este compilador se utiliza una representación intermedia jerárquica (IR) con cinco niveles principales que actúa como interfaz común entre todos los componentes frontend y backend . Esta IR se denomina WHIRL.

Versiones

La versión original de Open64 que se lanzó en 2002 carecía de su avanzado generador de código de canalización de software y solo tenía un generador de código rudimentario para Itanium. El compilador original MIPSPro completo, con este generador de código, está disponible bajo una licencia comercial como compilador Blackbird de Reservoir Labs. El documento Showdown documenta el generador de código que no estaba incluido en Open64. El compilador muy avanzado de Tilera, para su chip TILE64 de 64 núcleos, está basado en Blackbird.

Open64 existe en muchas bifurcaciones , cada una de las cuales tiene diferentes características y limitaciones. La rama "clásica" de Open64 es el Open Research Compiler (ORC), que produce código sólo para Itanium (IA-64), y fue financiado por Intel . El esfuerzo de ORC finalizó en 2003, y la rama oficial actual (que se originó a partir del proyecto Intel ORC) está administrada por Hewlett-Packard y el Laboratorio de Arquitectura Informática y Sistemas Paralelos (CAPSL) de la Universidad de Delaware .

Otras ramas importantes incluyen los compiladores de Tensilica y AMD x86 Open64 Compiler Suite. [1]

Nvidia también está utilizando una bifurcación de Open64 para optimizar el código en su cadena de herramientas CUDA . [2]

Open64 se utiliza como back-end para los compiladores del SO HPE NonStop en la plataforma x86-64. [3]

Versiones de Open64

Lanzamientos de AMD x86 Open64

Proyectos de desarrollo actuales

Open64 también se utiliza en varios proyectos de investigación, como Unified Parallel C (UPC) y trabajos especulativos sobre subprocesos múltiples en varias universidades. El Foro de desarrolladores de Open64 de 2010 describe proyectos realizados en Absoft , AMD , la Academia de Ciencias de China , la Universidad de Fudan , HP , la Universidad Nacional Tsing Hua , Nvidia , Tensilica , la Universidad de Tsinghua y la Universidad de Houston . [4] La Academia de Ciencias de China trasladó Open64 a la plataforma Loongson II. [5]

AMD ha ampliado y convertido en producto Open64 con optimizaciones diseñadas para los avances de los procesadores multinúcleo x86 y el desarrollo de código multiproceso. [6] AMD admite Open64 como un compilador complementario a GCC . [7]

El proyecto OpenUH de la Universidad de Houston, que se basa en Open64, lanzó una nueva versión de su suite de compiladores en noviembre de 2015. [8]

Véase también

Referencias

  1. ^ "Suite de compiladores x86 Open64". AMD . Archivado desde el original el 13 de noviembre de 2013 . Consultado el 12 de noviembre de 2013 .
  2. ^ La experiencia de NVIDIA con Open64
  3. ^ "Entrevista a John Reagan sobre LLVM, parte 2". ecubesystems.com . 2019-05-01. Archivado desde el original el 2020-11-25 . Consultado el 2020-12-21 .
  4. ^ "2010 Open64 Developers Forum, 25 de agosto de 2010". Archivado desde el original el 12 de junio de 2010 . Consultado el 6 de septiembre de 2010 .
  5. ^ Open64 en MIPS: portando y mejorando Open64 para Loongson II
  6. ^ Nigel Dessau, director de marketing de AMD (22 de junio de 2009). "Sweet Suite, publicación en el blog". Archivado desde el original el 6 de septiembre de 2010.
  7. ^ "Página de descarga de AMD Open64". Archivado desde el original el 13 de marzo de 2013. Consultado el 13 de noviembre de 2012 .
  8. ^ Página de descargas de OpenUH

Enlaces externos