{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:12:47Z","timestamp":1750306367567,"version":"3.41.0"},"reference-count":12,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2016,5,20]],"date-time":"2016-05-20T00:00:00Z","timestamp":1463702400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2016,5,25]]},"abstract":"<jats:p>Writing highly performant simulations requires a lot of human effort to optimize for an increasingly diverse set of hardware platforms, such as multi-core CPUs, GPUs, and distributed machines. Since these optimizations cut across both the design of geometric data structures and numerical linear algebra, code reusability and portability is frequently sacrificed for performance.<\/jats:p>\n          <jats:p>We believe the key to make simulation programmers more productive at developing portable and performant code is to introduce new linguistic abstractions, as in rendering and image processing. In this perspective, we distill the core ideas from our two languages, Ebb and Simit, that are published in this journal.<\/jats:p>","DOI":"10.1145\/2930661","type":"journal-article","created":{"date-parts":[[2016,5,22]],"date-time":"2016-05-22T01:23:59Z","timestamp":1463880239000},"page":"1-3","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Perspectives"],"prefix":"10.1145","volume":"35","author":[{"given":"Gilbert Louis","family":"Bernstein","sequence":"first","affiliation":[{"name":"Stanford University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fredrik","family":"Kjolstad","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,5,20]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Martin Abadi Ashish Agarwal Paul Barham Eugene Brevdo Zhifeng Chen Craig Citro Greg S. Corrado Andy Davis Jeffrey Dean Matthieu Devin and others. 2016. TensorFlow: Large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv:1603.04467 (2016).  Martin Abadi Ashish Agarwal Paul Barham Eugene Brevdo Zhifeng Chen Craig Citro Greg S. Corrado Andy Davis Jeffrey Dean Matthieu Devin and others. 2016. TensorFlow: Large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv:1603.04467 (2016)."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2892632"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/362384.362685"},{"key":"e_1_2_1_4_1","unstructured":"Ronan Collobert Clement Farabet Koray Kavukcuoglu Soumith Chintala and others. 2016. torch: A Scientific Computing Framework for LUAJIT. Retrieved from http:\/\/torch.ch.  Ronan Collobert Clement Farabet Koray Kavukcuoglu Soumith Chintala and others. 2016. torch: A Scientific Computing Framework for LUAJIT. Retrieved from http:\/\/torch.ch."},{"key":"e_1_2_1_5_1","unstructured":"CUDA Nvidia. 2008. Programming guide. (2008).  CUDA Nvidia. 2008. Programming guide. (2008)."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601174"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2866569"},{"volume-title":"Proceedings of the Conference on Uncertainty in Artificial Intelligence.","author":"Low Yucheng","key":"e_1_2_1_8_1"},{"key":"e_1_2_1_9_1","unstructured":"MATLAB. 2014. Version 8.3.0 (R2014a). The MathWorks Inc. Natick Massachusetts.  MATLAB. 2014. Version 8.3.0 (R2014a). The MathWorks Inc. Natick Massachusetts."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499370.2462176"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2442516.2442530"},{"key":"e_1_2_1_12_1","unstructured":"Steve Upstill. 1989. RenderMan Companion: A Programmer\u2019s Guide to Realistic Computer Graphics. Addison-Wesley Longman Publishing Co.   Steve Upstill. 1989. RenderMan Companion: A Programmer\u2019s Guide to Realistic Computer Graphics. Addison-Wesley Longman Publishing Co."}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2930661","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2930661","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:56:25Z","timestamp":1750222585000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2930661"}},"subtitle":["Why New Programming Languages for Simulation?"],"short-title":[],"issued":{"date-parts":[[2016,5,20]]},"references-count":12,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2016,5,25]]}},"alternative-id":["10.1145\/2930661"],"URL":"https:\/\/doi.org\/10.1145\/2930661","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"type":"print","value":"0730-0301"},{"type":"electronic","value":"1557-7368"}],"subject":[],"published":{"date-parts":[[2016,5,20]]},"assertion":[{"value":"2016-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-05-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}