


Tachyon es un software de trazado de rayos paralelo/multiprocesador . Es una biblioteca de trazado de rayos paralelo para su uso en computadoras paralelas de memoria distribuida, computadoras de memoria compartida y clústeres de estaciones de trabajo. Tachyon implementa características de renderizado como iluminación de oclusión ambiental, desenfoque focal de profundidad de campo, sombras, reflejos y otras. Fue desarrollado originalmente para el 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 está incorporado en varios otros paquetes de software de código abierto como VMD y SageMath . Tachyon se distribuye bajo una licencia permisiva (incluida en el archivo tarball).
Evolución y características
Tachyon se desarrolló originalmente para el Intel iPSC/860 , un ordenador paralelo de memoria distribuida basado en una topología de interconexión de hipercubo, a su vez basado en el Intel i860, una CPU RISC temprana con arquitectura VLIW. Tachyon se escribió inicialmente utilizando la interfaz de paso de mensajes NX, propiedad de Intel, para la serie iPSC, pero poco después, en 1995, se adaptó a las primeras versiones de MPI. Tachyon se adaptó para ejecutarse en la plataforma Intel Paragon utilizando el Paragon XP/S 150 MP en el Laboratorio Nacional de Oak Ridge. El ORNL XP/S 150 MP fue la primera plataforma compatible con Tachyon que combinaba el paso de mensajes de memoria distribuida a gran escala entre nodos y el procesamiento multihilo de memoria compartida dentro de los nodos. Posteriormente, se adaptó Tachyon a diversas plataformas de estaciones de trabajo convencionales basadas en Unix y a los primeros clústeres, incluyendo su adaptación al IBM SP2. Tachyon se incorporó al código CFD PARAFLOW para permitir la visualización volumétrica in situ de flujos de combustor supersónicos realizados en el Paragon XP/S en el Centro de Investigación Langley de la NASA, proporcionando una mejora significativa del rendimiento con respecto a los enfoques de visualización de posprocesamiento convencionales que se habían utilizado anteriormente. [ 2 ] A partir de 1999, se incorporó la compatibilidad con Tachyon al programa de gráficos moleculares VMD , y esto dio inicio a un período continuo de codesarrollo de Tachyon y VMD en el que se añadieron muchas características nuevas de Tachyon específicamente para gráficos moleculares. Tachyon se utilizó para renderizar la categoría ganadora de ilustración de imágenes para el Desafío de Visualización NSF 2004. [ 3 ] En 2007, Tachyon añadió compatibilidad con iluminación de oclusión ambiental, que fue una de las características que lo hizo cada vez más popular para la visualización molecular en conjunto con VMD. VMD y Tachyon se adaptaron gradualmente para admitir tareas rutinarias de visualización y análisis en clústeres, y posteriormente para grandes supercomputadoras de petaescala. Tachyon 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 petaescala Blue Waters en NCSA, U. Illinois. [ 4 ] [ 5 ] Se utilizaron versiones de CPU y GPU de Tachyon para renderizar imágenes del virión del SARS-CoV-2, la proteína de la espícula y el virión aerosolizado en tres proyectos de investigación separados de ACM Gordon Bell COVID-19, incluido el proyecto ganador en Supercomputing 2020, [ 6 ] y dos proyectos finalistas en Supercomputing 2021.
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 diversos artículos de investigación sobre computación paralela y compiladores.
En 1999, John Stone ayudó a Bill Magro a adaptar Tachyon para que fuera compatible con las primeras versiones del estándar de computación paralela basado en directivas OpenMP, utilizando el compilador KCC de Kuck and Associates. Se mostró una demostración de Tachyon realizando trazado de rayos interactivo en estaciones de trabajo DEC Alpha utilizando KCC y OpenMP.
En 2000, Intel adquirió Kuck and Associates Inc., [ 7 ] y Tachyon continuó utilizándose como demostración de OpenMP. Posteriormente, Intel utilizó Tachyon para desarrollar diversos ejemplos de programación para su sistema de programación paralela Threading Building Blocks (TBB), donde una versión antigua del programa se sigue incorporando como ejemplo hasta la actualidad. [ 8 ] [ 9 ]
En 2006, Tachyon fue seleccionado por el SPEC HPG para su inclusión en el conjunto de pruebas de rendimiento SPEC MPI 2007. [ 10 ] [ 11 ]
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 renderizado y visualización paralelos, [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] computación en la nube, [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] y computación paralela, [ 26 ] [ 27 ] [ 28 ] compiladores, [ 29 ] [ 30 ] [ 31 ] [ 32 ] sistemas de tiempo de ejecución, [ 33 ] [ 34 ] y arquitectura de computadoras, [ 35 ] [ 36 ] [ 37 ] herramientas de análisis de rendimiento, [ 38 ] [ 39 ] [ 40 ] y eficiencia energética de los sistemas HPC. [ 41 ] [ 42 ] [ 43 ]
Véase también
Referencias
- ↑ Stone, John E. (enero de 1998). "Una biblioteca eficiente para el trazado de rayos paralelo y la animación" . Tesis de maestría .
- ↑ Stone, J.; Underwood, M. (1996). "Rendering of numerical flow simulations using MPI". Proceedings. Second MPI Developer's Conference . pp. 138– 141. CiteSeerX 10.1.1.27.4822 . doi : 10.1109/MPIDC.1996.534105 . ISBN 978-0-8186-7533-1. S2CID 16846313 .
- ↑ Emad Tajkhorshid; Klaus Schulten. "Permeación 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 de la cápside madura del VIH-1 mediante microscopía crioelectrónica y dinámica molecular de todos los átomos" . Nature . 497 ( 7451): 643– 646. Bibcode : 2013Natur.497..643Z . doi : 10.1038/nature12162 . PMC 3729984. PMID 23719463 .
- ↑ Stone, John E.; Isralewitz, Barry; Schulten, Klaus (2013). «Primeras experiencias escalando trabajos de visualización y análisis molecular de VMD en aguas abiertas». Taller de Escalado Extremo 2013 (XSW 2013) . págs. 43–50 . CiteSeerX 10.1.1.396.3545 . doi : 10.1109/XSW.2013.10 . ISBN 978-1-4799-3691-5. S2CID 16329833 .
- ↑ Casalino, Lorenzo; Dommer, Abigail C; Gaieb, Zied; Barros, Emilia P; Sztain, Terra; Ahn, Surl-Hee; Trifan, Anda; Brace, Alexander; Bogetti, Anthony T; Clyde, Austin; Ma, Heng (septiembre de 2021). "Simulaciones multiescala impulsadas por IA iluminan mecanismos de la dinámica de picos del SARS-CoV-2" . The International Journal of High Performance Computing Applications . 35 (5 ) : 432– 451. doi : 10.1177/10943420211006452 . ISSN 1094-3420 . PMC 8064023. PMID 38603008 .
- ↑ "Intel 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" . Intel Corporation. 9 de marzo de 2009. Consultado el 30 de enero de 2016 .
- ↑ "122.tachyon SPEC MPI2007 Benchmark Description" . 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; Ponder, Carl (2010). "SPEC MPI2007: un conjunto de pruebas comparativas de aplicaciones para sistemas paralelos que utilizan MPI". Concurrency and Computation: Practice and Experience . 22 (2): 191– 205. doi : 10.1002/cpe.1535 . S2CID 5496204 .
- ↑ Rosenberg, Robert O.; Lanzagorta, Marco O.; Chtchelkanova, Almadena; Khokhlov, Alexei (2000). "Visualización paralela de grandes conjuntos de datos". En Erbacher, Robert F; Chen, Philip C; Roberts, Jonathan C; Wittenbrink, Craig M (eds.). Visual Data Exploration and Analysis VII . Vol. 3960. pp. 135–143 . doi : 10.1117/12.378889 . S2CID 62573871 .
- ↑ Lawlor, Orion Sky. "IMPOSTORES PARA GRÁFICOS COMPUTADORES INTERACTIVOS PARALELOS" (PDF) . MS, Universidad de Illinois en Urbana-Champaign, 2001. Recuperado el 30 de enero de 2016 .
- ↑ "Lawlor, Orion Sky, Matthew Page y Jon Genetti. "MPIglut: programación de powerwall simplificada." (2008)" (PDF) . Consultado el 30 de enero de 2016 .
- ↑ McGuigan, Michael (2008-01-09). "Hacia la escala de Turing gráfica en una supercomputadora Blue Gene". arXiv : 0801.1500 [ cs.GR ].
- ↑ "Lawlor, Orion Sky y Joe Genetti. "Renderizado interactivo de volumen de auroras en la GPU." (2011)" (PDF) .
- ↑ Grottel, Sebastian; Krone, Michael; Scharnowski, Katrin; Ertl, Thomas (2012). "Oclusión ambiental en el espacio de objetos para dinámica molecular". Simposio de Visualización del Pacífico IEEE 2012. págs. 209–216 . doi : 10.1109/PacificVis.2012.6183593 . ISBN 978-1-4673-0866-3. S2CID 431332 .
- ↑ Stone, John E.; Isralewitz, Barry; Schulten, Klaus (2013). «Primeras experiencias escalando trabajos de visualización y análisis molecular de VMD en aguas abiertas». Taller de Escalado Extremo 2013 (XSW 2013) . págs. 43–50 . CiteSeerX 10.1.1.396.3545 . doi : 10.1109/XSW.2013.10 . ISBN 978-1-4799-3691-5. S2CID 16329833 .
- ↑ Stone, John E.; Vandivort, Kirby L.; Schulten, Klaus (2013). "Visualización molecular acelerada por GPU en plataformas de supercomputación de petaescala". Actas del 8.º Taller Internacional sobre Visualización a Ultraescala - Ultra Vis '13 . págs. 1–8 . doi : 10.1145/2535571.2535595 . ISBN 9781450325004. S2CID 18633700 .
- ↑ Sener, Melih; et al. "Visualización de los procesos de conversión de energía en un orgánulo captador de luz con 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 3er Taller ACM sobre Virtualización a Nivel de Sistema para Computación de Alto Rendimiento - HPCVirt '09 . págs. 1–8 . CiteSeerX 10.1.1.534.7880 . doi : 10.1145/1519138.1519139 . ISBN 9781605584652. S2CID 15380880 .
- ↑ Neill, Richard; Carloni, Luca P .; Shabarshin, Alexander; Sigaev, Valeriy; Tcherepanov, Serguei (2011). "Virtualización de procesadores integrados para computación en malla de banda ancha". 2011 IEEE/ACM 12.ª Conferencia Internacional sobre Computación en Malla . págs. 145–156 . CiteSeerX 10.1.1.421.5483 . doi : 10.1109/Grid.2011.27 . ISBN 978-1-4577-1904-2. S2CID 7760113 .
- ↑ Un motor de flujo de trabajo para nubes de computación, Daniel Franz, Jie Tao, Holger Marten y Achim Streit. CLOUD COMPUTING 2011 : Segunda Conferencia Internacional sobre Computación en la Nube, GRIDs y Virtualización . 2011. págs. 1–6 . CiteSeerX 10.1.1.456.6480 .
- ↑ Tao, Jie; et al. (2012). "Un enfoque de implementación para la combinación de servicios entre nubes" (PDF) . Revista internacional sobre avances en software . 5 (1&2): 65–75 .
- ↑ Neill, Richard W. (2013). Sistemas de nube heterogéneos basados en computación integrada de banda ancha (Tesis). Universidad de Columbia. doi : 10.7916/d8hh6jg1 .
- ↑ Manjikian, Naraig (2010). "Explorando problemas de diseño e implementación de multiprocesadores 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. (2011-01-01). "Programación de escritorio multinúcleo con bloques de construcción de subprocesos Intel". IEEE Software . 28 (1): 23– 31. Bibcode : 2011ISoft..28a..23K . doi : 10.1109/MS.2011.12 . ISSN 0740-7459 . S2CID 14305861 .
- ↑ Tchiboukdjian, Marc; Carribault, Patrick; Perache, Marc (2012). "Almacenamiento local jerárquico: aprovechamiento del intercambio flexible de datos de usuario entre tareas MPI". 2012 IEEE 26th International Parallel and Distributed Processing Symposium . pp. 366–377 . doi : 10.1109/IPDPS.2012.42 . ISBN 978-1-4673-0975-2. S2CID 15232185 .
- ↑ Ghodrat, Mohammad Ali; Givargis, Tony; Nicolau, Alex (2008). "Optimización del flujo de control en bucles mediante análisis de intervalos". Actas de la conferencia internacional de 2008 sobre compiladores, arquitecturas y síntesis para sistemas embebidos - CASES '08 . pág. 157. CiteSeerX 10.1.1.144.7693 . doi : 10.1145/1450095.1450120 . ISBN 9781605584690. S2CID 14310352 .
- ↑ Guerin, Xavier (12 de mayo de 2010). Guerin, Xavier. Un enfoque eficiente para el desarrollo de software embebido para sistemas en chip multiprocesador. Disertación. Institut National Polytechnique de Grenoble-INPG, 2010 (tesis doctoral). Institut National Polytechnique de Grenoble - INPG . Recuperado el 30 de enero de 2016 .
- ↑ Milánez, 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). Satapatía, 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 Sistemas Inteligentes y Computación. Publicaciones internacionales Springer. 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 una API para software paralelo adaptable en tiempo de ejecución". Actas de la conferencia de 2013 sobre Investigación en Sistemas Adaptativos y Convergentes - RACS '13 . págs. 51–56 . doi : 10.1145/2513228.2513239 . ISBN 9781450323482. S2CID 30376161 .
- ↑ Biswas, Susmit; Supinski, Bronis R. de; Schulz, Martin; Franklin, Diana; Sherwood, Timothy; Chong, Frederic T. (2011). "Aprovechamiento de la similitud de datos para reducir el consumo de memoria". 2011 IEEE International Parallel & Distributed Processing Symposium . pp. 152–163 . CiteSeerX 10.1.1.294.6312 . doi : 10.1109/IPDPS.2011.24 . ISBN 978-1-61284-372-8. S2CID 14570159 .
- ↑ Man-Lap Li; Sasanka, R.; Adve, SV; Yen-Kuang Chen; Debes, E. (2005). "El conjunto de pruebas ALPbench para aplicaciones multimedia complejas". IEEE International. Actas del Simposio de Caracterización de Carga 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. S2CID 7065621 .
- ↑ Zhang, Jiaqi; Chen, Wenguang; Tian, Xinmin; Zheng, Weimin (2008). «Explorando las aplicaciones emergentes de la memoria transaccional». Novena Conferencia Internacional de 2008 sobre Computación Paralela y Distribuida, Aplicaciones y Tecnologías . págs. 474–480 . doi : 10.1109/PDCAT.2008.77 . ISBN 978-0-7695-3443-5. S2CID 9699030 .
- ↑ "Almaless, Ghassan y Franck Wajsburt. "Sobre la escalabilidad de las aplicaciones paralelas de procesamiento de imágenes y señales en los emergentes multinúcleo cc-NUMA." Conferencia sobre Diseño y Arquitecturas para el Procesamiento de Señales e Imágenes (DASIP), 2012. 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 and PHD Forum . pp. 2105–2108 . doi : 10.1109/IPDPS.2011.388 . ISBN 978-1-61284-425-1. S2CID 14284392 .
- ↑ Szebenyi, Zoltán; Wylie, Brian JN; Wolf, Felix (27-06-2008). Kounev, Samuel; Gorton, Ian; Sachs, Kai (eds.). Análisis del rendimiento paralelo de SCALASCA de las aplicaciones SPEC MPI2007 . Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 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 rastreo de eventos en memoria al formato Open Trace Format 2». 42.ª Conferencia Internacional sobre Procesamiento Paralelo de 2013. págs. 970–976 . doi : 10.1109/ICPP.2013.115 . ISBN 978-0-7695-5117-3. S2CID 14289974 .
- ↑ Wonyoung Kim; Gupta, Meeta S.; Wei, Gu-Yeon; Brooks, David (2008). "Análisis a 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 . pp. 123–134 . CiteSeerX 10.1.1.320.879 . doi : 10.1109/HPCA.2008.4658633 . ISBN 978-1-4244-2070-4. S2CID 538731 .
- ^ Hackenberg, Daniel; Schöne, Robert; Molka, Daniel; Müller, Matías S.; Knüpfer, Andreas (2010). "Cuantificación de las variaciones del consumo de energía de los sistemas HPC utilizando puntos de referencia SPEC MPI". Ciencias de la Computación - Investigación y Desarrollo . 25 ( 3– 4): 155– 163. doi : 10.1007/s00450-010-0118-0 . S2CID 12354074 .
- ↑ Ioannou, Nikolas; Kauschke, Michael; Gries, Matthias; Cintra, Marcelo (2011). "Gestión jerárquica de energía basada en aplicaciones y orientada a fases en el ordenador en la nube de un solo chip". Conferencia Internacional de 2011 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. S2CID 11697039 .
Enlaces externos
- Sitio web del sistema de trazado de rayos paralelo/multiprocesador Tachyon
- Trazador de rayos taquiónicos (integrado en VMD)
- Tesis de maestría de John Stone que describe las primeras versiones del taquión.
- Software de renderizado 3D para Linux
- Software multiplataforma
- Software gratuito de gráficos 3D
- Software gratuito de diseño asistido por ordenador
- Software de iluminación global