1:"$Sreact.fragment" 2:I[56996,["/_next/static/chunks/07869afe5dca593d.js","/_next/static/chunks/9db1af48be35a82e.js","/_next/static/chunks/80709c043166298d.js","/_next/static/chunks/9e1e50242341cd2f.js","/_next/static/chunks/cb71691db624406a.js","/_next/static/chunks/a2080b193aa489d5.js"],"Code",1] 3:I[46687,["/_next/static/chunks/07869afe5dca593d.js","/_next/static/chunks/9db1af48be35a82e.js","/_next/static/chunks/80709c043166298d.js","/_next/static/chunks/9e1e50242341cd2f.js","/_next/static/chunks/cb71691db624406a.js","/_next/static/chunks/a2080b193aa489d5.js"],"Reference"] 17:I[15978,["/_next/static/chunks/07869afe5dca593d.js","/_next/static/chunks/9db1af48be35a82e.js","/_next/static/chunks/80709c043166298d.js","/_next/static/chunks/9e1e50242341cd2f.js","/_next/static/chunks/cb71691db624406a.js","/_next/static/chunks/a2080b193aa489d5.js"],""] 18:I[57122,["/_next/static/chunks/75eaa8a566c00f97.js","/_next/static/chunks/f87536bfb5d88439.js"],"OutletBoundary"] 19:"$Sreact.suspense" 0:{"buildId":"g01baiUJqgRGYBHwPLsJb","rsc":["$","$1","c",{"children":[[["$","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",["$","$L2",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",["$","$L3",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","$L4","\n","$L5","\n","$L6","\n","$L7","\n","$L8","\n","$L9","\n","$La","\n","$Lb","\n","$Lc","\n","$Ld","\n","$Le","\n","$Lf","\n","$L10"],["$L11","$L12","$L13","$L14","$L15"],"$L16"]}],"loading":null,"isPartial":false} 4:["$","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"]}] 5:["$","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."]}] 6:["$","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"]}]}] 7:[["$","$1","/code-highlight",{"children":[["$","$L17",null,{"href":"/code-highlight","children":"Code highlighter"}],false]}]] 8:["$","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."}] 9:["$","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"]}]}] a:[["$","$1","https://github.com/neboat/pbfs",{"children":[["$","a",null,{"href":"https://github.com/neboat/pbfs","children":"GitHub"}],false]}]] b:["$","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."}] c:["$","$L3",null,{"citekeys":["LeisersonSc10"]}] d:["$","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\""]}]}] e:[["$","$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]}]] f:["$","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?\""}] 10:["$","$L3",null,{"citekeys":["LeisersonThEm20"]}] 11:["$","script","script-0",{"src":"/_next/static/chunks/9db1af48be35a82e.js","async":true}] 12:["$","script","script-1",{"src":"/_next/static/chunks/80709c043166298d.js","async":true}] 13:["$","script","script-2",{"src":"/_next/static/chunks/9e1e50242341cd2f.js","async":true}] 14:["$","script","script-3",{"src":"/_next/static/chunks/cb71691db624406a.js","async":true}] 15:["$","script","script-4",{"src":"/_next/static/chunks/a2080b193aa489d5.js","async":true}] 16:["$","$L18",null,{"children":["$","$19",null,{"name":"Next.MetadataOutlet","children":"$@1a"}]}] 1a:null