{"slug": "ispc", "name": "ISPC", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 5, "commenters": 5, "warners": 0, "score": 4.708, "rising": -0.64, "first": "2026-01-18", "latest": "2026-09-28", "why": "See, however, ISPC[5,6] for how attempting to use SIMD", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 6, "neutral": 1, "compare": 0, "warn": 0}, "spark": [0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 1, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "See, however, ISPC[5,6] for how attempting to use SIMD", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/ispc/ispc", "official_url": "https://ispc.github.io", "pricing": "", "aliases": ["ISPC", "ispc"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 797989616, "item_id": 49874351, "url": "https://news.ycombinator.com/item?id=49874351", "by": "nnevatie", "date": "2026-09-28", "version": null, "stance": "recommend", "quote": "ISPC gets pretty close, though. https://ispc.github.io/", "excerpt": "ISPC gets pretty close, though. https://ispc.github.io/", "context": "", "use_case": "", "switched_from": "", "story": "The state of SIMD in Rust in 2026"}, {"id": 784393600, "item_id": 49024600, "url": "https://news.ycombinator.com/item?id=49024600", "by": "spider-mario", "date": "2026-07-23", "version": null, "stance": "recommend", "quote": "Counterpoint: https://pharr.org/matt/blog/2018/04/18/ispc-origins", "excerpt": "> You really should see if you can get the compiler to auto-vectorize first (possibly padding data structures and loops) before you write anything by hand. Counterpoint: https://pharr.org/matt/blog/2018/04/18/ispc-origins > I think that the fatal flaw with the approach the compiler team was trying to make work was best diagnosed by T. Foley, who\u2019s full of great insights about this stuff: auto-vectorization is not a p", "context": "", "use_case": "", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 784263152, "item_id": 49016447, "url": "https://news.ycombinator.com/item?id=49016447", "by": "rao-v", "date": "2026-07-22", "version": null, "stance": "recommend", "quote": "the best candidate was this 15 year old compiler project that is Intel specific!", "excerpt": "It distresses me that we don\u2019t have a language that can do a best effort parallelization of arbitrary loop like code across SIMD, multiple threads, multiple cores and GPU with a small directive. I don\u2019t need it to be optimal, just \u2026 handy as an option! The last time I brought this up here, folks offered a bunch of options that don\u2019t quite do this, and the best candidate was this 15 year old compiler project that is I", "context": "", "use_case": "SIMD compiler", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 775823107, "item_id": 48488944, "url": "https://news.ycombinator.com/item?id=48488944", "by": "mananaysiempre", "date": "2026-06-11", "version": null, "stance": "recommend", "quote": "See, however, ISPC[5,6] for how attempting to use SIMD", "excerpt": "> Flex is one of the commonly used tools as a lexical analyzer. [...] Bison is a syntax analyzer. A valid choice; one might also find re2c[1] or Ragel [2] + Lemon[3] a friendlier if less well-established implementation of essentially the same theory. Moving further away, there\u2019s also ANTLR[4] or spending a week on a hand-coded lexer and parser. > CPU\u2019s parallelism is not utilized in the same way as GPU since differen", "context": "", "use_case": "SIMD programming for CPUs", "switched_from": "", "story": "Making a Shading Language for My Offline Renderer"}, {"id": 769224944, "item_id": 48076559, "url": "https://news.ycombinator.com/item?id=48076559", "by": "rao-v", "date": "2026-05-09", "version": null, "stance": "recommend", "quote": "Also seems promising", "excerpt": "I\u2019ll check it out! https://ispc.github.io/ Also seems promising", "context": "", "use_case": "", "switched_from": "", "story": "Mojo 1.0 Beta"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["simd parallel compiler", "simd compiler", "simd programming for cpus", "simd code without c/c++"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49010648", "title": "Everyone Should Know SIMD", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48057901", "title": "Mojo 1.0 Beta", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49844629", "title": "The state of SIMD in Rust in 2026", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48444841", "title": "Making a Shading Language for My Offline Renderer", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46610800", "title": "AVX-512: First Impressions on Performance and Programmability", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {"neutral": 1}, "2026-06": {"recommend": 1}, "2026-07": {"recommend": 3}, "2026-08": {}, "2026-09": {"recommend": 1}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 797989616, "item_id": 49874351, "url": "https://news.ycombinator.com/item?id=49874351", "by": "nnevatie", "date": "2026-09-28", "version": null, "stance": "recommend", "quote": "ISPC gets pretty close, though. https://ispc.github.io/", "excerpt": "ISPC gets pretty close, though. https://ispc.github.io/", "context": "", "use_case": "", "switched_from": "", "story": "The state of SIMD in Rust in 2026"}, {"id": 784393600, "item_id": 49024600, "url": "https://news.ycombinator.com/item?id=49024600", "by": "spider-mario", "date": "2026-07-23", "version": null, "stance": "recommend", "quote": "Counterpoint: https://pharr.org/matt/blog/2018/04/18/ispc-origins", "excerpt": "> You really should see if you can get the compiler to auto-vectorize first (possibly padding data structures and loops) before you write anything by hand. Counterpoint: https://pharr.org/matt/blog/2018/04/18/ispc-origins > I think that the fatal flaw with the approach the compiler team was trying to make work was best diagnosed by T. Foley, who\u2019s full of great insights about this stuff: auto-vectorization is not a p", "context": "", "use_case": "", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 784267856, "item_id": 49016741, "url": "https://news.ycombinator.com/item?id=49016741", "by": "maximilianburke", "date": "2026-07-22", "version": null, "stance": "recommend", "quote": "", "excerpt": "ISPC isn\u2019t Intel-only: https://github.com/ispc/ispc", "context": "", "use_case": "SIMD parallel compiler", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 784263152, "item_id": 49016447, "url": "https://news.ycombinator.com/item?id=49016447", "by": "rao-v", "date": "2026-07-22", "version": null, "stance": "recommend", "quote": "the best candidate was this 15 year old compiler project that is Intel specific!", "excerpt": "It distresses me that we don\u2019t have a language that can do a best effort parallelization of arbitrary loop like code across SIMD, multiple threads, multiple cores and GPU with a small directive. I don\u2019t need it to be optimal, just \u2026 handy as an option! The last time I brought this up here, folks offered a bunch of options that don\u2019t quite do this, and the best candidate was this 15 year old compiler project that is I", "context": "", "use_case": "SIMD compiler", "switched_from": "", "story": "Everyone Should Know SIMD"}, {"id": 775823107, "item_id": 48488944, "url": "https://news.ycombinator.com/item?id=48488944", "by": "mananaysiempre", "date": "2026-06-11", "version": null, "stance": "recommend", "quote": "See, however, ISPC[5,6] for how attempting to use SIMD", "excerpt": "> Flex is one of the commonly used tools as a lexical analyzer. [...] Bison is a syntax analyzer. A valid choice; one might also find re2c[1] or Ragel [2] + Lemon[3] a friendlier if less well-established implementation of essentially the same theory. Moving further away, there\u2019s also ANTLR[4] or spending a week on a hand-coded lexer and parser. > CPU\u2019s parallelism is not utilized in the same way as GPU since differen", "context": "", "use_case": "SIMD programming for CPUs", "switched_from": "", "story": "Making a Shading Language for My Offline Renderer"}, {"id": 769224944, "item_id": 48076559, "url": "https://news.ycombinator.com/item?id=48076559", "by": "rao-v", "date": "2026-05-09", "version": null, "stance": "recommend", "quote": "Also seems promising", "excerpt": "I\u2019ll check it out! https://ispc.github.io/ Also seems promising", "context": "", "use_case": "", "switched_from": "", "story": "Mojo 1.0 Beta"}, {"id": 769224224, "item_id": 48076514, "url": "https://news.ycombinator.com/item?id=48076514", "by": "rao-v", "date": "2026-05-09", "version": null, "stance": "neutral", "quote": "Missing some features but roughly has the idea.", "excerpt": "Some kind soul pointed to Intel\u2019s https://ispc.github.io/ which is basically this. Missing some features but roughly has the idea. Keep faith with human ingenuity!", "context": "", "use_case": "", "switched_from": "", "story": "Mojo 1.0 Beta"}, {"id": 746816544, "item_id": 46676034, "url": "https://news.ycombinator.com/item?id=46676034", "by": "nnevatie", "date": "2026-01-18", "version": null, "stance": "recommend", "quote": "you might want to try ISPC", "excerpt": "I found this a weird article. If you wish to see some speedups using AVX512, without limiting yourself to C or C++, you might want to try ISPC (https://ispc.github.io/index.html). You'll get sane aliasing rules from the perspective of performance, multi-target binaries with dynamic dispatching and a lot more control over the code generated.", "context": "", "use_case": "SIMD code without C/C++", "switched_from": "", "story": "AVX-512: First Impressions on Performance and Programmability"}]}