Tachyon es un software de trazado de rayos en paralelo / multiprocesador . Es una biblioteca de trazado de rayos en paralelo para su uso en computadoras paralelas con memoria distribuida, computadoras con memoria compartida y grupos de estaciones de trabajo. Tachyon implementa funciones de renderizado como iluminación de oclusión ambiental, desenfoque focal de profundidad de campo, sombras, reflejos y otros. Fue desarrollado originalmente para Intel iPSC / 860 por John Stone para su tesis de maestría en la Universidad de Missouri-Rolla. [1] Posteriormente, Tachyon se convirtió en un motor de trazado de rayos más funcional y completo, y ahora se incorpora a varios otros paquetes de software de código abierto, como VMD y SageMath.. Tachyon se publica bajo una licencia permisiva (incluida en el tarball).
Autor (es) original (es) | John E. Stone |
---|---|
Escrito en | C |
Tipo | Software de trazado de rayos / renderizado 3D |
Sitio web | jedi |
Evolución y características
Tachyon se desarrolló originalmente para Intel iPSC / 860 , una computadora paralela de memoria distribuida basada en una topología de interconexión de hipercubo basada en Intel i860, una CPU RISC temprana con arquitectura VLIW y. Tachyon se escribió originalmente utilizando la interfaz de paso de mensajes NX patentada de Intel para la serie iPSC, pero se trasladó a las primeras versiones de MPI poco después en 1995. Tachyon se adaptó para ejecutarse en la plataforma Intel Paragon utilizando Paragon XP / S 150 MP en Laboratorio Nacional de Oak Ridge. El ORNL XP / S 150 MP fue la primera plataforma compatible con Tachyon que combinó el paso de mensajes de memoria distribuida a gran escala entre nodos y el multiproceso de memoria compartida dentro de los nodos. Siguió la adaptación de Tachyon a una variedad de plataformas de estaciones de trabajo convencionales basadas en Unix y a los primeros clústeres, incluida la migración a IBM SP2. Tachyon se incorporó al código PARAFLOW CFD para permitir la visualización de volumen in situ de los flujos de combustión supersónicos realizados en el Paragon XP / S en el Centro de Investigación Langley de la NASA, lo que proporciona una ganancia de rendimiento significativa sobre los enfoques de visualización de posprocesamiento convencionales que se habían utilizado anteriormente. [2] A partir de 1999, el soporte para Tachyon se incorporó al programa de gráficos moleculares VMD , y esto inició un período continuo de desarrollo conjunto de Tachyon y VMD donde se agregaron muchas características nuevas de Tachyon específicamente para gráficos moleculares. Se utilizó Tachyon para representar la categoría de ilustración de imagen ganadora del NSF 2004 Visualization Challenge. [3] En 2007, Tachyon agregó soporte para la iluminación de oclusión ambiental, que fue una de las características que la hizo cada vez más popular para la visualización molecular junto con VMD. VMD y Tachyon se adaptaron gradualmente para admitir tareas rutinarias de visualización y análisis en clústeres y, más tarde, para grandes supercomputadoras de petaescala. El taquión se utilizó para producir figuras, películas y la imagen de portada de Nature de la estructura atómica de la cápside del VIH-1 resuelta por Zhao et al. en 2013, en la supercomputadora de petaescala Blue Waters en NCSA, U. Illinois. [4] [5]
Uso en demostraciones, capacitación y evaluación comparativa de computación paralela
Debido en parte a su portabilidad a una amplia gama de plataformas, Tachyon se ha utilizado como caso de prueba para una variedad de artículos de investigación de compiladores y computación paralela.
En 1999, John Stone ayudó a Bill Magro con la adaptación de Tachyon para admitir las primeras versiones del estándar informático paralelo basado en directivas OpenMP, utilizando el compilador KCC de Kuck and Associates. Tachyon se mostró como una demostración que realiza el trazado de rayos interactivo en estaciones de trabajo DEC Alpha utilizando KCC y OpenMP.
En 2000, Intel adquirió Kuck and Associates Inc., [6] y Tachyon siguió utilizándose como demostración de OpenMP. Posteriormente, Intel utilizó Tachyon para desarrollar una variedad de ejemplos de programación para su sistema de programación en paralelo Threading Building Blocks (TBB), donde una versión antigua del programa continúa incorporándose como ejemplo hasta el día de hoy. [7] [8]
En 2006, Tachyon fue seleccionado por SPEC HPG para su inclusión en el conjunto de pruebas de referencia SPEC MPI 2007 . [9] [10]
Más allá del uso típico de Tachyon como herramienta para renderizar imágenes de alta calidad, probablemente debido a su portabilidad e inclusión en SPEC MPI 2007, también se ha utilizado como caso de prueba y punto de comparación para una variedad de proyectos de investigación relacionados con la renderización y visualización en paralelo. [11] [12] [13] [14] [15] [16] [17] [18] [19] computación en la nube, [20] [21] [22] [23] [24] y computación en paralelo, [ 25] [26] [27] compiladores, [28] [29] [30] [31] sistemas de tiempo de ejecución, [32] [33] y arquitectura informática, [34] [35] [36] herramientas de análisis de rendimiento, [37 ] [38] [39] y eficiencia energética de los sistemas HPC. [40] [41] [42]
Ver también
- Dinámica molecular visual
enlaces externos
- Sitio web de Tachyon Parallel / Multiprocessor Ray Tracing System
- Trazador de rayos Tachyon (integrado en VMD)
- Tesis de maestría de John Stone que describe las primeras versiones de Tachyon
Referencias
- ^ Stone, John E. (enero de 1998). "Una biblioteca eficiente para la animación y el trazado de rayos paralelos" . Tesis de Maestría .
- ^ Stone, J .; Underwood, M. (1996). "Representación de simulaciones numéricas de flujo mediante MPI". Actas. Segunda Conferencia de Desarrolladores MPI . págs. 138-141. CiteSeerX 10.1.1.27.4822 . doi : 10.1109 / MPIDC.1996.534105 . ISBN 978-0-8186-7533-1.
- ^ Emad Tajkhorshid; Klaus Schulten. "Permeabilidad del agua a través de las acuaporinas" . Grupo de Biofísica Teórica y Computacional, Universidad de Illinois en Urbana-Champaign.
- ^ Zhao, Gongpu; Perilla, Juan R .; Yufenyuy, Ernest L .; Meng, Xin; Chen, Bo; Ning, Jiying; Ahn, Jinwoo; Gronenborn, Angela M .; Schulten, Klaus (2013). "Estructura madura de la cápside del VIH-1 por microscopía crioelectrónica y dinámica molecular de todos los átomos" . Naturaleza . 497 (7451): 643–646. Código Bibliográfico : 2013Natur.497..643Z . doi : 10.1038 / nature12162 . PMC 3729984 . PMID 23719463 .
- ^ Stone, John E .; Isralewitz, Barry; Schulten, Klaus (2013). "Experiencias tempranas escalando trabajos de visualización y análisis molecular VMD en aguas azules". 2013 Taller de escalamiento extremo (XSW 2013) . págs. 43–50. CiteSeerX 10.1.1.396.3545 . doi : 10.1109 / XSW.2013.10 . ISBN 978-1-4799-3691-5.
- ^ "Intel para adquirir Kuck & Associates. La adquisición amplía las capacidades de Intel en herramientas de desarrollo de software para computación multiprocesador" . Consultado el 30 de enero de 2016 .
- ^ "Intel® Threading Building Blocks (Intel® TBB)" . Consultado el 30 de enero de 2016 .
- ^ "Paralelo para -Tachyon" . Corporación Intel. 2009-03-09 . Consultado el 30 de enero de 2016 .
- ^ "122.tachyon SPEC MPI2007 Benchmark Descripción" . Consultado el 30 de enero de 2016 .
- ^ Müller, Matthias S .; Van Waveren, Matthijs; Lieberman, Ron; Whitney, Brian; Saito, Hideki; Kumaran, Kalyan; Baron, John; Brantley, William C .; Parrott, Chris; Elken, Tom; Feng, Huiyu; Reflexione, Carl (2009). "SPEC MPI2007: un conjunto de aplicaciones comparativas para sistemas paralelos que utilizan MPI". Concurrencia y Computación: Práctica y Experiencia : n / a. doi : 10.1002 / cpe.1535 .
- ^ Rosenberg, Robert O .; Lanzagorta, Marco O .; Chtchelkanova, Almadena; Khokhlov, Alexei (2000). "Visualización en paralelo de grandes conjuntos de datos". En Erbacher, Robert F; Chen, Philip C; Roberts, Jonathan C; Wittenbrink, Craig M (eds.). Exploración y análisis de datos visuales VII . 3960 . págs. 135-143. doi : 10.1117 / 12.378889 .
- ^ Lawlor, Orion Sky. "IMPOSTORES PARA GRÁFICOS COMPUTADORES INTERACTIVOS PARALELOS" (PDF) . Maestría, Universidad de Illinois en Urbana-Champaign, 2001 . Consultado el 30 de enero de 2016 .
- ^ "Lawlor, Orion Sky, Matthew Page y Jon Genetti." MPIglut: programación de powerwall más fácil "(2008)" (PDF) . Consultado el 30 de enero de 2016 .
- ^ McGuigan, Michael (9 de enero de 2008). "Hacia la escala de Turing de gráficos en una supercomputadora Blue Gene". arXiv : 0801.1500 [ cs.GR ].
- ^ "Lawlor, Orion Sky y Joe Genetti." Volumen interactivo renderizado aurora en la GPU "(2011)" (PDF) .
- ^ Grottel, Sebastián; Krone, Michael; Scharnowski, Katrin; Ertl, Thomas (2012). "Oclusión ambiental del espacio de objetos para la dinámica molecular". 2012 Simposio de visualización IEEE Pacific . págs. 209–216. doi : 10.1109 / PacificVis.2012.6183593 . ISBN 978-1-4673-0866-3.
- ^ Stone, John E .; Isralewitz, Barry; Schulten, Klaus (2013). "Experiencias tempranas escalando trabajos de visualización y análisis molecular VMD en aguas azules". 2013 Taller de escalamiento extremo (XSW 2013) . págs. 43–50. CiteSeerX 10.1.1.396.3545 . doi : 10.1109 / XSW.2013.10 . ISBN 978-1-4799-3691-5.
- ^ Stone, John E .; Vandivort, Kirby L .; Schulten, Klaus (2013). "Visualización molecular acelerada por GPU en plataformas de supercomputación a petaescala". Actas del VIII Taller Internacional de Visualización a Ultraescala - Ultra Vis '13 . págs. 1–8. doi : 10.1145 / 2535571.2535595 . ISBN 9781450325004.
- ^ Sener, Melih; et al. "Visualización de procesos de conversión de energía en un orgánulo de recolección de luz en detalle atómico" (PDF) . Consultado el 30 de enero de 2016 .
- ^ Patchin, Philip; Lagar-Cavilla, H. Andrés; De Lara, Eyal; Brudno, Michael (2009). "Añadiendo el botón fácil a la nube con Snow Flock y MPI". Actas del tercer taller de ACM sobre virtualización a nivel de sistema para la informática de alto rendimiento - HPCVirt '09 . págs. 1–8. CiteSeerX 10.1.1.534.7880 . doi : 10.1145 / 1519138.1519139 . ISBN 9781605584652.
- ^ Neill, Richard; Carloni, Luca P .; Shabarshin, Alexander; Sigaev, Valeriy; Tcherepanov, Serguei (2011). "Virtualización de procesadores integrados para computación en red de banda ancha". 2011 IEEE / ACM 12th International Conference on Grid Computing . págs. 145-156. CiteSeerX 10.1.1.421.5483 . doi : 10.1109 / Grid.2011.27 . ISBN 978-1-4577-1904-2.
- ^ "Un motor de flujo de trabajo para la computación en la nube, Daniel Franz, Jie Tao, Holger Marten y Achim Streit. CLOUD COMPUTING 2011: Segunda Conferencia Internacional sobre Cloud Computing, GRIDs y Virtualización". 2011: 1–6. CiteSeerX 10.1.1.456.6480 . Cite journal requiere
|journal=
( ayuda ) - ^ Tao, Jie; et al. (2012). "Un enfoque de implementación para la combinación de servicios entre la nube" (PDF) . Revista internacional sobre avances en software . 5 (1 y 2): 65–75.
- ^ Neill, Richard W. (2013). "Sistemas de nube heterogéneos basados en computación embebida de banda ancha". doi : 10.7916 / d8hh6jg1 . Cite journal requiere
|journal=
( ayuda ) - ^ Manjikian, Naraig (2010). "Exploración de problemas de implementación y diseño de multiprocesador con demostraciones en clase" . Actas de la Asociación Canadiense de Educación en Ingeniería . doi : 10.24908 / pceea.v0i0.3110 . Consultado el 30 de enero de 2016 .
- ^ Kim, Wooyoung; Voss, M. (1 de enero de 2011). "Programación de escritorio multinúcleo con bloques de construcción Intel Threading". Software IEEE . 28 (1): 23–31. doi : 10.1109 / MS.2011.12 . ISSN 0740-7459 .
- ^ Tchiboukdjian, Marc; Carribault, Patrick; Perache, Marc (2012). "Almacenamiento local jerárquico: aprovechamiento del intercambio flexible de datos de usuario entre tareas de MPI". 2012 IEEE 26th International Parallel and Distributed Processing Symposium . págs. 366–377. doi : 10.1109 / IPDPS.2012.42 . ISBN 978-1-4673-0975-2.
- ^ Ghodrat, Mohammad Ali; Givargis, Tony; Nicolau, Alex (2008). "Control de la optimización del flujo en lazos mediante análisis de intervalo". Actas de la conferencia internacional de 2008 sobre compiladores, arquitecturas y síntesis para sistemas integrados - CASES '08 . pag. 157. CiteSeerX 10.1.1.144.7693 . doi : 10.1145 / 1450095.1450120 . ISBN 9781605584690.
- ^ Guerin, Xavier (12 de mayo de 2010). "Guerin, Xavier. Un enfoque de desarrollo de software integrado eficiente para sistemas multiprocesador en chips. Diss. Institut National Polytechnique de Grenoble-INPG, 2010" . Consultado el 30 de enero de 2016 . Cite journal requiere
|journal=
( ayuda ) - ^ Milanez, Teo; Collange, Sylvain; Quintão Pereira, Fernando Magno; Meira Jr., Wagner; Ferreira, Renato (1 de octubre de 2014). "Programación de subprocesos y fusión de memoria para la vectorización dinámica de cargas de trabajo SPMD". Computación paralela . 40 (9): 548–558. doi : 10.1016 / j.parco.2014.03.006 .
- ^ Ojha, Davendar Kumar; Sikka, Geeta (1 de enero de 2014). Satapathy, Suresh Chandra; Avadhani, PS; Udgata, Siba K .; Lakshminarayana, Sadasivuni (eds.). Un estudio sobre métodos de vectorización para arquitectura SIMD multinúcleo proporcionado por compiladores . Avances en Computación y Sistemas Inteligentes. Springer International Publishing. págs. 723–728. doi : 10.1007 / 978-3-319-03107-1_79 . ISBN 9783319031064.
- ^ Kang, Mikyung; Kang, Dong-In; Lee, Seungwon; Lee, Jaedon (2013). "Un marco de sistema y API para software paralelo adaptable en tiempo de ejecución". Actas de la investigación de 2013 en sistemas adaptativos y convergentes en - RACS '13 . págs. 51–56. doi : 10.1145 / 2513228.2513239 . ISBN 9781450323482.
- ^ Biswas, Susmit; Supinski, Bronis R. de; Schulz, Martin; Franklin, Diana; Sherwood, Timothy; Chong, Frederic T. (2011). "Explotación de la similitud de datos para reducir las huellas de la memoria". Simposio internacional de procesamiento distribuido y paralelo de IEEE 2011 . págs. 152-163. CiteSeerX 10.1.1.294.6312 . doi : 10.1109 / IPDPS.2011.24 . ISBN 978-1-61284-372-8.
- ^ Man-Lap Li; Sasanka, R .; Adve, SV; Yen-Kuang Chen; Debes, E. (2005). "La suite de referencia ALPbench para aplicaciones multimedia complejas". IEEE Internacional. 2005 Actas del Simposio de caracterización de cargas de trabajo de IEEE, 2005 . págs. 34–45. CiteSeerX 10.1.1.79.42 . doi : 10.1109 / IISWC.2005.1525999 . ISBN 978-0-7803-9461-2.
- ^ Zhang, Jiaqi; Chen, Wenguang; Tian, Xinmin; Zheng, Weimin (2008). "Explorando las aplicaciones emergentes para la memoria transaccional". 2008 Novena Conferencia Internacional sobre Computación, Aplicaciones y Tecnologías Paralelas y Distribuidas . págs. 474–480. doi : 10.1109 / PDCAT.2008.77 . ISBN 978-0-7695-3443-5.
- ^ "Almaless, Ghassan y Franck Wajsburt." Sobre la escalabilidad de las aplicaciones paralelas de procesamiento de imágenes y señales en muchos núcleos cc-NUMA emergentes. "Diseño y arquitecturas para procesamiento de señales e imágenes (DASIP), Conferencia de 2012 sobre. IEEE, 2012" (PDF) .
- ^ Szebenyi, Zolt´n; Wolf, Felix; Wylie, Brian JN (2011). "Análisis de rendimiento de aplicaciones de larga duración". 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops y PHD Forum . págs. 2105–2108. doi : 10.1109 / IPDPS.2011.388 . ISBN 978-1-61284-425-1.
- ^ Szebenyi, Zoltán; Wylie, Brian JN; Wolf, Felix (27 de junio de 2008). Kounev, Samuel; Gorton, Ian; Sachs, Kai (eds.). Análisis de rendimiento en paralelo SCALASCA de aplicaciones SPEC MPI2007 . Apuntes de conferencias en Ciencias de la Computación. Springer Berlín Heidelberg. págs. 99-123. CiteSeerX 10.1.1.167.5445 . doi : 10.1007 / 978-3-540-69814-2_8 . ISBN 9783540698135.
- ^ Wagner, Michael; Knupfer, Andreas; Nagel, Wolfgang E. (2013). "Técnicas jerárquicas de almacenamiento en búfer de memoria para una extensión de seguimiento de eventos en memoria para el formato de seguimiento abierto 2". 2013 42a Conferencia Internacional sobre Procesamiento Paralelo . págs. 970–976. doi : 10.1109 / ICPP.2013.115 . ISBN 978-0-7695-5117-3.
- ^ Wonyoung Kim; Gupta, Meeta S .; Wei, Gu-Yeon; Brooks, David (2008). "Análisis de nivel de sistema de DVFS rápido por núcleo utilizando reguladores de conmutación en chip". 2008 IEEE 14th International Symposium on High Performance Computer Architecture . págs. 123-134. CiteSeerX 10.1.1.320.879 . doi : 10.1109 / HPCA.2008.4658633 . ISBN 978-1-4244-2070-4.
- ^ Hackenberg, Daniel; Schöne, Robert; Molka, Daniel; Müller, Matthias S .; Knüpfer, Andreas (2010). "Cuantificación de las variaciones de consumo de energía de los sistemas HPC utilizando pruebas de rendimiento SPEC MPI". Ciencias de la Computación - Investigación y Desarrollo . 25 (3-4): 155-163. doi : 10.1007 / s00450-010-0118-0 .
- ^ Ioannou, Nikolas; Kauschke, Michael; Gries, Matthias; Cintra, Marcelo (2011). "Administración de energía jerárquica basada en aplicaciones basada en fases en la computadora en la nube de un solo chip". 2011 Congreso Internacional sobre Arquitecturas Paralelas y Técnicas de Compilación . págs. 131-142. CiteSeerX 10.1.1.644.9076 . doi : 10.1109 / PACT.2011.19 . ISBN 978-1-4577-1794-9.