1:"$Sreact.fragment" 2:I[60675,["8173","static/chunks/8173-066406f34141ecb3.js","7177","static/chunks/app/layout-e5b6254cced12c56.js"],"Header"] 3:I[15244,[],""] 4:I[43866,[],""] 5:I[60766,["8173","static/chunks/8173-066406f34141ecb3.js","7177","static/chunks/app/layout-e5b6254cced12c56.js"],"GoogleAnalytics"] 8:I[86213,[],"OutletBoundary"] a:I[86213,[],"MetadataBoundary"] c:I[86213,[],"ViewportBoundary"] e:I[34835,[],""] :HL["/_next/static/css/ff47c8294a96d26a.css","style"] 0:{"P":null,"b":"Eh3qxYeU1yEQxh1X2uq5G","p":"","c":["","projects"],"i":false,"f":[[["",{"children":["(mdxPages)",{"children":[["slug","projects","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[null,["$","html",null,{"lang":"en","children":[["$","body",null,{"children":[["$","$L2",null,{}],["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}],["$","$L5",null,{"gaId":"G-6TCR87FRLX"}]]}]]}],{"children":["(mdxPages)",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","(mdxPages)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:0:props:children:1:props:notFound:1:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:props:children:1:props:children:0:props:children:1:props:notFound:1:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:0:props:children:1:props:notFound:1:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:props:children:1:props:children:0:props:children:1:props:notFound:1:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["slug","projects","d"],["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ff47c8294a96d26a.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L6"]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L7",null,["$","$L8",null,{"children":"$L9"}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","wZZO14rlx0TvenJ25Ww46",{"children":[["$","$La",null,{"children":"$Lb"}],["$","$Lc",null,{"children":"$Ld"}],null]}]]}],false]],"m":"$undefined","G":["$e","$undefined"],"s":false,"S":true} 6:["$","div",null,{"style":{"padding":"var(--size-gutter)"},"className":"dark:bg-zinc-900","children":[["$","main",null,{"className":"flex flex-col min-h-screen items-center","children":["$","article",null,{"className":"prose prose-zinc dark:prose-invert prose-code:before:hidden prose-code:after:hidden prose-inline-code:bg-amber-50 dark:prose-inline-code:bg-amber-950 ","children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","(mdxPages)","children","$0:f:0:1:2:children:2:children:0","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","footer",null,{"style":{"marginTop":"var(--space-5)","fontSize":"var(--font-sm)"},"className":"text-zinc-500","children":["© ",2025," Tao B. Schardl"," ","· Last modified ","$@f"," ","· ",["$","a",null,{"href":"http://accessibility.mit.edu/","children":"Accessibility"}]]}]]}] 10:I[18996,["7358","static/chunks/8b2dac85-3830e74a76c98279.js","2380","static/chunks/00a487b1-3ae8737144497144.js","5927","static/chunks/5927-d3ef888da69b1ef7.js","6688","static/chunks/6688-4eb813fd012b609d.js","8173","static/chunks/8173-066406f34141ecb3.js","5630","static/chunks/5630-081b24e7cb02dfd5.js","8996","static/chunks/8996-9f8c149b4b55efd1.js","6325","static/chunks/app/(mdxPages)/%5Bslug%5D/page-0c1dccabad18495c.js"],"Code",1] 11:I[92392,["7358","static/chunks/8b2dac85-3830e74a76c98279.js","2380","static/chunks/00a487b1-3ae8737144497144.js","5927","static/chunks/5927-d3ef888da69b1ef7.js","6688","static/chunks/6688-4eb813fd012b609d.js","8173","static/chunks/8173-066406f34141ecb3.js","5630","static/chunks/5630-081b24e7cb02dfd5.js","8996","static/chunks/8996-9f8c149b4b55efd1.js","6325","static/chunks/app/(mdxPages)/%5Bslug%5D/page-0c1dccabad18495c.js"],"Reference"] 12:I[48173,["7358","static/chunks/8b2dac85-3830e74a76c98279.js","2380","static/chunks/00a487b1-3ae8737144497144.js","5927","static/chunks/5927-d3ef888da69b1ef7.js","6688","static/chunks/6688-4eb813fd012b609d.js","8173","static/chunks/8173-066406f34141ecb3.js","5630","static/chunks/5630-081b24e7cb02dfd5.js","8996","static/chunks/8996-9f8c149b4b55efd1.js","6325","static/chunks/app/(mdxPages)/%5Bslug%5D/page-0c1dccabad18495c.js"],""] 7:[["$","h1",null,{"id":"projects","children":"Projects"}],"\n",["$","a",null,{"href":"#opencilk","className":"group no-underline","children":["$","h2",null,{"id":"opencilk","children":[["$","span",null,{"className":"absolute -translate-x-[140%] opacity-0 group-hover:opacity-35","children":"#"}]," ","OpenCilk"]}]}],"\n",[["$","$1","https://www.opencilk.org/",{"children":[["$","a",null,{"href":"https://www.opencilk.org/","children":"Website"}]," · "]}],["$","$1","https://github.com/OpenCilk/",{"children":[["$","a",null,{"href":"https://github.com/OpenCilk/","children":"GitHub organization"}],false]}]],"\n",["$","p",null,{"children":[["$","a",null,{"href":"https://www.opencilk.org/","children":"OpenCilk"}]," is the latest open-source implementation of the Cilk task-parallel programming platform."]}],"\n",["$","$L10",null,{"children":["$","code",null,{"className":"language-cilkcpp","children":"int fib(int n) {\n if (n < 2) return n;\n int x, y;\n cilk_scope {\n x = cilk_spawn fib(n-1);\n y = fib(n-2);\n }\n return x + y;\n}\n"}]}],"\n",["$","p",null,{"children":"OpenCilk extends C/C++ with a few keywords to expose logical task parallelism in a program. The OpenCilk compiler optimizes Cilk programs using Tapir/LLVM, an extension to LLVM to enable effective compiler analysis and optimization of task-parallel programs. The OpenCilk runtime system schedules and load-balances the Cilk computation automatically in a provably good manner using randomized work stealing. The OpenCilk platform also provides tools to analyze Cilk programs, including the Cilksan race detector and the Cilkscale scalability analyzer."}],"\n",["$","p",null,{"children":["OpenCilk is completely open source and available on ",["$","a",null,{"href":"https://github.com/OpenCilk/","children":"GitHub"}],". OpenCilk features the latest implementation of the Tapir compiler extension for task parallelism."]}],"\n",["$","$L11",null,{"citekeys":["SchardlLe23","SchardlMoLe19","SchardlMoLe17"]}],"\n",["$","a",null,{"href":"#cesmix","className":"group no-underline","children":["$","h2",null,{"id":"cesmix","children":[["$","span",null,{"className":"absolute -translate-x-[140%] opacity-0 group-hover:opacity-35","children":"#"}]," ","CESMIX"]}]}],"\n",["$","p",null,{"children":[["$","a",null,{"href":"https://cesmix.mit.edu","children":"CESMIX"}]," is an interdisciplinary research center at MIT focused on the exascale simulation of materials in hypersonic flow environments. See the CESMIX website for details."]}],"\n",["$","a",null,{"href":"#other-projects","className":"group no-underline","children":["$","h2",null,{"id":"other-projects","children":[["$","span",null,{"className":"absolute -translate-x-[140%] opacity-0 group-hover:opacity-35","children":"#"}]," ","Other projects"]}]}],"\n",["$","p",null,{"children":["You can find most of the other software projects itself on or linked from ",["$","a",null,{"href":"https://github.com/neboat","children":"my personal GitHub"}],"."]}],"\n",["$","a",null,{"href":"#fccode-latex-package","className":"group no-underline","children":["$","h3",null,{"id":"fccode-latex-package","children":[["$","span",null,{"className":"absolute -translate-x-[140%] opacity-0 group-hover:opacity-35","children":"#"}]," ","fccode LaTeX package"]}]}],"\n",[["$","$1","https://www.overleaf.com/read/gbqhfyncbgby#309f8a",{"children":[["$","a",null,{"href":"https://www.overleaf.com/read/gbqhfyncbgby#309f8a","children":"fccode Overleaf port and documentation"}],false]}]],"\n",["$","p",null,{"children":"The fccode package provides fast, safe, and high-quality syntax highlighting of code for LaTeX documents. This package provides LaTeX macros, commands, and environments for syntax-highlighted code figures, in-paragraph code blocks, and inline code snippets. This package uses Pygments to syntax-highlight code, and it includes custom Pygments lexers and formatters to improve syntax-highlighting quality to add new features, including the following:"}],"\n",["$","ul",null,{"children":["\n",["$","li",null,{"children":"Selecting regions of source files to highlight."}],"\n",["$","li",null,{"children":["Support LaTeX ",["$","code",null,{"children":"\\label{}"}]," commands in code, allowing the document to use ",["$","code",null,{"children":"\\ref{}"}]," commands to reference lines in the code symbolically."]}],"\n"]}],"\n",["$","p",null,{"children":["This package includes ",["$","code",null,{"children":"latexmk"}]," rules and scripts to syntax-highlight code efficiently, in a manner that scales to handle very large documents with lots of code to highlight. In particular, fccode avoids the need for LaTeX's ",["$","code",null,{"children":"--shell-escape"}]," option."]}],"\n",["$","a",null,{"href":"#code-highlighter-tool-for-slide-decks","className":"group no-underline","children":["$","h3",null,{"id":"code-highlighter-tool-for-slide-decks","children":[["$","span",null,{"className":"absolute -translate-x-[140%] opacity-0 group-hover:opacity-35","children":"#"}]," ","Code-highlighter tool for slide decks"]}]}],"\n",[["$","$1","/code-highlight",{"children":[["$","$L12",null,{"href":"/code-highlight","children":"Code highlighter"}],false]}]],"\n",["$","p",null,{"children":"This web-based tool adds syntax and semantic highlighting to C/C++ and Cilk code to be easily copy-and-pasted into slide decks."}],"\n",["$","a",null,{"href":"#pbfs","className":"group no-underline","children":["$","h3",null,{"id":"pbfs","children":[["$","span",null,{"className":"absolute -translate-x-[140%] opacity-0 group-hover:opacity-35","children":"#"}]," ","PBFS"]}]}],"\n",[["$","$1","https://github.com/neboat/pbfs",{"children":[["$","a",null,{"href":"https://github.com/neboat/pbfs","children":"GitHub"}],false]}]],"\n",["$","p",null,{"children":"PBFS is a work-efficient parallel breadth-first-search (BFS) algorithm. PBFS uses a custom reducer data structure, called a bag, to efficiently maintain sets of vertices. PBFS is currently implemented in OpenCilk, and the bag reducer is implemented using the linguistic reducer syntax introduced in OpenCilk 2."}],"\n",["$","$L11",null,{"citekeys":["LeisersonSc10"]}],"\n",["$","a",null,{"href":"#materials-for-theres-plenty-of-room-at-the-top","className":"group no-underline","children":["$","h3",null,{"id":"materials-for-theres-plenty-of-room-at-the-top","children":[["$","span",null,{"className":"absolute -translate-x-[140%] opacity-0 group-hover:opacity-35","children":"#"}]," ","Materials for \"There's plenty of room at the Top\""]}]}],"\n",[["$","$1","https://github.com/neboat/Moore",{"children":[["$","a",null,{"href":"https://github.com/neboat/Moore","children":"GitHub"}]," · "]}],["$","$1","https://zenodo.org/doi/10.5281/zenodo.3715520",{"children":[["$","a",null,{"href":"https://zenodo.org/doi/10.5281/zenodo.3715520","children":"DOI"}],false]}]],"\n",["$","p",null,{"children":"This repository contains the data and software used for the Science article, \"There's plenty of room at the Top: What will drive computer performance after Moore's law?\""}],"\n",["$","$L11",null,{"citekeys":["LeisersonThEm20"]}]] d:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] b:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"Projects | Tao B. Schardl"}],["$","meta","2",{"name":"description","content":"Descriptions of assorted projects"}],["$","link","3",{"rel":"author","href":"https://neboat.mit.edu"}],["$","meta","4",{"name":"author","content":"Tao B. Schardl"}],["$","meta","5",{"name":"generator","content":"Next.js"}],["$","meta","6",{"name":"referrer","content":"origin-when-cross-origin"}],["$","link","7",{"rel":"canonical","href":"https://neboat.mit.edu/projects"}],["$","meta","8",{"name":"format-detection","content":"telephone=no, address=no, email=no"}],["$","meta","9",{"property":"og:title","content":"Projects | Tao B. Schardl"}],["$","meta","10",{"property":"og:description","content":"Descriptions of assorted projects"}],["$","meta","11",{"property":"og:type","content":"website"}],["$","meta","12",{"name":"twitter:card","content":"summary"}],["$","meta","13",{"name":"twitter:title","content":"Projects | Tao B. Schardl"}],["$","meta","14",{"name":"twitter:description","content":"Descriptions of assorted projects"}],["$","link","15",{"rel":"icon","href":"/icon.svg?76306e7d0afecba5","type":"image/svg+xml","sizes":"any"}]] 9:null f:"12/23/2024"