From fafb72222c8049910aa53d2ca247e5fb70179b58 Mon Sep 17 00:00:00 2001 From: 1dentity84 <142194116+1dentity84@users.noreply.github.com> Date: Mon, 5 Feb 2024 19:52:19 +0800 Subject: [PATCH] Update theme of github page (#23) * new style * v0.1 * v0.1 * new site * keep license * keep README.md * modify README.md * update submodule --- .github/workflows/hugo.yml | 75 +++++ .gitignore | 292 +----------------- .gitmodules | 3 + README.md | 16 +- _config.yml | 5 - archetypes/default.md | 5 + config/_default/hugo.toml | 256 +++++++++++++++ config/_default/menus.toml | 83 +++++ config/_default/params.toml | 63 ++++ config/development/server.toml | 9 + config/production/hugo.toml | 3 + config/production/params.toml | 3 + content/en/_index.md | 14 + content/en/about/_index.md | 21 ++ content/en/news/00-RISC-V-spoc.md | 146 +++++++++ content/en/news/_index.md | 5 + .../en/posts/PLCT-Roadmap-2021.md | 5 + .../en/posts/PLCT-Roadmap-2022.en.md | 5 + content/en/posts/PLCT-Weekly.md | 113 +++++++ content/en/posts/_index.md | 5 + ...eate-a-minimal-android-system-for-riscv.md | 9 +- .../posts/events}/RISCV-Open-Wishlist-2021.md | 5 + ...build-scalar-cryptography-gnu-toolchain.md | 5 + .../opencv}/Optimize_OpenCV_for_RISC-V.md | 9 +- ...est_of_BishengJDK11_on_HiFive_Unleashed.md | 6 + .../en/posts/reports}/2022-09-01.md | 5 + content/en/projects/_index.md | 5 + content/en/projects/project1/index.md | 26 ++ content/en/projects/project1/web-design.jpg | Bin 0 -> 65567 bytes content/en/projects/project2/index.md | 25 ++ content/en/projects/project3/index.md | 24 ++ content/en/projects/project4/index.md | 25 ++ content/en/projects/project5/index.md | 25 ++ content/en/projects/project5/website.jpg | Bin 0 -> 123762 bytes content/ja/_index.md | 14 + content/ja/about/_index.md | 21 ++ content/ja/projects/_index.md | 5 + content/ja/projects/project1/index.md | 26 ++ content/ja/projects/project1/web-design.jpg | Bin 0 -> 65567 bytes content/ja/projects/project2/index.md | 25 ++ content/ja/projects/project3/index.md | 24 ++ content/ja/projects/project4/index.md | 25 ++ content/ja/projects/project5/index.md | 25 ++ content/ja/projects/project5/website.jpg | Bin 0 -> 123762 bytes content/ko/_index.md | 14 + content/ko/about/_index.md | 21 ++ content/ko/projects/_index.md | 5 + content/ko/projects/project1/index.md | 26 ++ content/ko/projects/project1/web-design.jpg | Bin 0 -> 65567 bytes content/ko/projects/project2/index.md | 25 ++ content/ko/projects/project3/index.md | 24 ++ content/ko/projects/project4/index.md | 25 ++ content/ko/projects/project5/index.md | 25 ++ content/ko/projects/project5/website.jpg | Bin 0 -> 123762 bytes content/ru/_index.md | 14 + content/ru/about/_index.md | 21 ++ content/ru/projects/_index.md | 5 + content/ru/projects/project1/index.md | 26 ++ content/ru/projects/project1/web-design.jpg | Bin 0 -> 65567 bytes content/ru/projects/project2/index.md | 25 ++ content/ru/projects/project3/index.md | 24 ++ content/ru/projects/project4/index.md | 25 ++ content/ru/projects/project5/index.md | 25 ++ content/ru/projects/project5/website.jpg | Bin 0 -> 123762 bytes content/zh/_index.md | 14 + content/zh/about/_index.md | 21 ++ content/zh/projects/_index.md | 5 + content/zh/projects/project1/index.md | 26 ++ content/zh/projects/project1/web-design.jpg | Bin 0 -> 65567 bytes content/zh/projects/project2/index.md | 25 ++ content/zh/projects/project3/index.md | 24 ++ content/zh/projects/project4/index.md | 25 ++ content/zh/projects/project5/index.md | 25 ++ content/zh/projects/project5/website.jpg | Bin 0 -> 123762 bytes {opencv => static}/RVV.png | Bin {opencv => static}/WUI.png | Bin {aosp => static}/diagrams/bionic-libc.png | Bin {aosp => static}/diagrams/mini-system.png | Bin themes/hugo-liftoff | 1 + 79 files changed, 1664 insertions(+), 293 deletions(-) create mode 100644 .github/workflows/hugo.yml create mode 100644 .gitmodules delete mode 100644 _config.yml create mode 100644 archetypes/default.md create mode 100644 config/_default/hugo.toml create mode 100644 config/_default/menus.toml create mode 100644 config/_default/params.toml create mode 100644 config/development/server.toml create mode 100644 config/production/hugo.toml create mode 100644 config/production/params.toml create mode 100644 content/en/_index.md create mode 100644 content/en/about/_index.md create mode 100644 content/en/news/00-RISC-V-spoc.md create mode 100644 content/en/news/_index.md rename PLCT-Roadmap-2021.md => content/en/posts/PLCT-Roadmap-2021.md (99%) rename PLCT-Roadmap-2022.en.md => content/en/posts/PLCT-Roadmap-2022.en.md (99%) create mode 100644 content/en/posts/PLCT-Weekly.md create mode 100644 content/en/posts/_index.md rename {aosp => content/en/posts/aosp}/create-a-minimal-android-system-for-riscv.md (98%) rename {events => content/en/posts/events}/RISCV-Open-Wishlist-2021.md (96%) rename {k-ext => content/en/posts/k-ext}/how-to-build-scalar-cryptography-gnu-toolchain.md (94%) rename {opencv => content/en/posts/opencv}/Optimize_OpenCV_for_RISC-V.md (98%) rename {openjdk => content/en/posts/openjdk}/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.md (98%) rename {reports => content/en/posts/reports}/2022-09-01.md (99%) create mode 100644 content/en/projects/_index.md create mode 100644 content/en/projects/project1/index.md create mode 100644 content/en/projects/project1/web-design.jpg create mode 100644 content/en/projects/project2/index.md create mode 100644 content/en/projects/project3/index.md create mode 100644 content/en/projects/project4/index.md create mode 100644 content/en/projects/project5/index.md create mode 100644 content/en/projects/project5/website.jpg create mode 100644 content/ja/_index.md create mode 100644 content/ja/about/_index.md create mode 100644 content/ja/projects/_index.md create mode 100644 content/ja/projects/project1/index.md create mode 100644 content/ja/projects/project1/web-design.jpg create mode 100644 content/ja/projects/project2/index.md create mode 100644 content/ja/projects/project3/index.md create mode 100644 content/ja/projects/project4/index.md create mode 100644 content/ja/projects/project5/index.md create mode 100644 content/ja/projects/project5/website.jpg create mode 100644 content/ko/_index.md create mode 100644 content/ko/about/_index.md create mode 100644 content/ko/projects/_index.md create mode 100644 content/ko/projects/project1/index.md create mode 100644 content/ko/projects/project1/web-design.jpg create mode 100644 content/ko/projects/project2/index.md create mode 100644 content/ko/projects/project3/index.md create mode 100644 content/ko/projects/project4/index.md create mode 100644 content/ko/projects/project5/index.md create mode 100644 content/ko/projects/project5/website.jpg create mode 100644 content/ru/_index.md create mode 100644 content/ru/about/_index.md create mode 100644 content/ru/projects/_index.md create mode 100644 content/ru/projects/project1/index.md create mode 100644 content/ru/projects/project1/web-design.jpg create mode 100644 content/ru/projects/project2/index.md create mode 100644 content/ru/projects/project3/index.md create mode 100644 content/ru/projects/project4/index.md create mode 100644 content/ru/projects/project5/index.md create mode 100644 content/ru/projects/project5/website.jpg create mode 100644 content/zh/_index.md create mode 100644 content/zh/about/_index.md create mode 100644 content/zh/projects/_index.md create mode 100644 content/zh/projects/project1/index.md create mode 100644 content/zh/projects/project1/web-design.jpg create mode 100644 content/zh/projects/project2/index.md create mode 100644 content/zh/projects/project3/index.md create mode 100644 content/zh/projects/project4/index.md create mode 100644 content/zh/projects/project5/index.md create mode 100644 content/zh/projects/project5/website.jpg rename {opencv => static}/RVV.png (100%) rename {opencv => static}/WUI.png (100%) rename {aosp => static}/diagrams/bionic-libc.png (100%) rename {aosp => static}/diagrams/mini-system.png (100%) create mode 160000 themes/hugo-liftoff diff --git a/.github/workflows/hugo.yml b/.github/workflows/hugo.yml new file mode 100644 index 0000000..abad230 --- /dev/null +++ b/.github/workflows/hugo.yml @@ -0,0 +1,75 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Deploy Hugo site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.120.4 + steps: + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + - name: Install Dart Sass + run: sudo snap install dart-sass + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Setup Pages + id: pages + uses: actions/configure-pages@v4 + - name: Install Node.js dependencies + run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + hugo \ + --minify \ + --baseURL "${{ steps.pages.outputs.base_url }}/" + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./public + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 859f705..84cd0f6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,276 +1,16 @@ -## Core latex/pdflatex auxiliary files: -*.aux -*.lof -*.log -*.lot -*.fls -*.out -*.toc -*.fmt -*.fot -*.cb -*.cb2 -.*.lb - -## Intermediate documents: -*.dvi -*.xdv -*-converted-to.* -# these rules might exclude image files for figures etc. -# *.ps -# *.eps -# *.pdf - -## Generated if empty string is given at "Please type another file name for output:" -.pdf - -## Bibliography auxiliary files (bibtex/biblatex/biber): -*.bbl -*.bcf -*.blg -*-blx.aux -*-blx.bib -*.run.xml - -## Build tool auxiliary files: -*.fdb_latexmk -*.synctex -*.synctex(busy) -*.synctex.gz -*.synctex.gz(busy) -*.pdfsync - -## Build tool directories for auxiliary files -# latexrun -latex.out/ - -## Auxiliary and intermediate files from other packages: -# algorithms -*.alg -*.loa - -# achemso -acs-*.bib - -# amsthm -*.thm - -# beamer -*.nav -*.pre -*.snm -*.vrb - -# changes -*.soc - -# comment -*.cut - -# cprotect -*.cpt - -# elsarticle (documentclass of Elsevier journals) -*.spl - -# endnotes -*.ent - -# fixme -*.lox - -# feynmf/feynmp -*.mf -*.mp -*.t[1-9] -*.t[1-9][0-9] -*.tfm - -#(r)(e)ledmac/(r)(e)ledpar -*.end -*.?end -*.[1-9] -*.[1-9][0-9] -*.[1-9][0-9][0-9] -*.[1-9]R -*.[1-9][0-9]R -*.[1-9][0-9][0-9]R -*.eledsec[1-9] -*.eledsec[1-9]R -*.eledsec[1-9][0-9] -*.eledsec[1-9][0-9]R -*.eledsec[1-9][0-9][0-9] -*.eledsec[1-9][0-9][0-9]R - -# glossaries -*.acn -*.acr -*.glg -*.glo -*.gls -*.glsdefs -*.lzo -*.lzs - -# uncomment this for glossaries-extra (will ignore makeindex's style files!) -# *.ist - -# gnuplottex -*-gnuplottex-* - -# gregoriotex -*.gaux -*.gtex - -# htlatex -*.4ct -*.4tc -*.idv -*.lg -*.trc -*.xref - -# hyperref -*.brf - -# knitr -*-concordance.tex -# TODO Comment the next line if you want to keep your tikz graphics files -*.tikz -*-tikzDictionary - -# listings -*.lol - -# luatexja-ruby -*.ltjruby - -# makeidx -*.idx -*.ilg -*.ind - -# minitoc -*.maf -*.mlf -*.mlt -*.mtc[0-9]* -*.slf[0-9]* -*.slt[0-9]* -*.stc[0-9]* - -# minted -_minted* -*.pyg - -# morewrites -*.mw - -# nomencl -*.nlg -*.nlo -*.nls - -# pax -*.pax - -# pdfpcnotes -*.pdfpc - -# sagetex -*.sagetex.sage -*.sagetex.py -*.sagetex.scmd - -# scrwfile -*.wrt - -# sympy -*.sout -*.sympy -sympy-plots-for-*.tex/ - -# pdfcomment -*.upa -*.upb - -# pythontex -*.pytxcode -pythontex-files-*/ - -# tcolorbox -*.listing - -# thmtools -*.loe - -# TikZ & PGF -*.dpth -*.md5 -*.auxlock - -# todonotes -*.tdo - -# vhistory -*.hst -*.ver - -# easy-todo -*.lod - -# xcolor -*.xcp - -# xmpincl -*.xmpi - -# xindy -*.xdy - -# xypic precompiled matrices and outlines -*.xyc -*.xyd - -# endfloat -*.ttt -*.fff - -# Latexian -TSWLatexianTemp* - -## Editors: -# WinEdt -*.bak -*.sav - -# Texpad -.texpadtmp - -# LyX -*.lyx~ - -# Kile -*.backup - -# gummi -.*.swp - -# KBibTeX -*~[0-9]* - -# TeXnicCenter -*.tps - -# auto folder when using emacs and auctex -./auto/* -*.el - -# expex forward references with \gathertags -*-tags.tex - -# standalone packages -*.sta - -# Makeindex log files -*.lpz +.DS_Store +*.swp + +# Generated files by hugo +/public/ +/resources/_gen/ +/assets/jsconfig.json +hugo_stats.json + +# Executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +# Temporary lock file while building +/.hugo_build.lock diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a6ea776 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/hugo-liftoff"] + path = themes/hugo-liftoff + url = https://github.com/1dentity84/hugo-liftoff diff --git a/README.md b/README.md index 0a74735..5bc4997 100644 --- a/README.md +++ b/README.md @@ -23,38 +23,38 @@ If you have questions or sugguests, feel free to [open an issue](https://github. / [10](https://github.com/plctlab/PLCT-Weekly/blob/master/2022/2022-10-01.en.md) / [09](https://github.com/plctlab/PLCT-Weekly/blob/master/2022/2022-09-01.en.md) -## 008 [This Month in PLCT (September 1, 2022)](https://plctlab.github.io/reports/2022-09-01.html) +## 008 [This Month in PLCT (September 1, 2022)](/reports/2022-09-01.html) Wei Wu, et. al., 2022.9.1 Get up-to-date on what we have been up to in the past month! -## 007 [Roadmap of the PLCT Lab in 2022](https://plctlab.github.io/PLCT-Roadmap-2022.en.html) +## 007 [Roadmap of the PLCT Lab in 2022](/PLCT-Roadmap-2022.en.html) Wei Wu, 2022.1.19 This is the roadmap of the PLCT Lab in 2022. -## 006 [How to use krypoto extension with GNU toolchain](https://plctlab.github.io/k-ext/how-to-build-scalar-cryptography-gnu-toolchain.html) +## 006 [How to use krypoto extension with GNU toolchain](/k-ext/how-to-build-scalar-cryptography-gnu-toolchain.html) Jiawei, 2021.5.20 This is the way of how to compile and checkout the scalar cryptography extension with toolchain, which is the sub ISA of RISC-V. -## 005 [Roadmap of the PLCT Lab in 2021](https://plctlab.github.io/PLCT-Roadmap-2021.html) +## 005 [Roadmap of the PLCT Lab in 2021](/PLCT-Roadmap-2021.html) Xinyi Li, 2021.1.12 This is the roadmap of the PLCT Lab in 2021, which is about our 2021 plan in the direction of RISC-V development tool. -## 004 [Open Wishlist for RISC-V 2021](https://plctlab.github.io/events/RISCV-Open-Wishlist-2021.html) +## 004 [Open Wishlist for RISC-V 2021](/events/RISCV-Open-Wishlist-2021.html) Wei Wu, 2020.11.30 The PLCT Lab is inviting everyone inside the RISC-V community to write to us the dev-tools or orther softwares you wish to have in the RISC-V ecosystem. Feel free to open an issue or PR and describe the tools you want. -## 003 [Create a minimal Android system for RISC-V](https://plctlab.github.io/aosp/create-a-minimal-android-system-for-riscv.html) +## 003 [Create a minimal Android system for RISC-V](/aosp/create-a-minimal-android-system-for-riscv.html) Chen Wang, 2020.11.24 @@ -62,7 +62,7 @@ After a period of hard work, we can now run an Android "minimal system" on QEMU The blog is a brief summary of the current work. Although the road ahead is still long, there is something to have a look. -## 002 [Building instruction and test of BishengJDK11 on HiFive Unleashed](https://plctlab.github.io/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.html) +## 002 [Building instruction and test of BishengJDK11 on HiFive Unleashed](/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.html) Dingli Zhang, 2020.11.20 @@ -70,7 +70,7 @@ BishengJDK 11 now brings the template interpreter and backends of C1/C2 compiler This test is to build the JDK on RISCV64 and start to do some benchmark on HiFive Unleashed. -## 001 [Optimize OpenCV for RISC-V](https://plctlab.github.io/opencv/Optimize_OpenCV_for_RISC-V.html) +## 001 [Optimize OpenCV for RISC-V](/opencv/Optimize_OpenCV_for_RISC-V.html) Yin Zhang, 2020.11.16 diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 653c842..0000000 --- a/_config.yml +++ /dev/null @@ -1,5 +0,0 @@ -theme: jekyll-theme-hacker -title: PLCT Lab -description: Compilers, Runtimes, and Emulators. -markdown: kramdown -url: "https://plctlab.github.io" diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml new file mode 100644 index 0000000..a9c54d3 --- /dev/null +++ b/config/_default/hugo.toml @@ -0,0 +1,256 @@ +### General +baseURL = 'https://plctlab.github.io' # Enter your full production URL +languageCode = 'en-us' # Default +timeZone = 'America/New_York' # IANA timezone https://en.wikipedia.org/wiki/List_of_tz_database_time_zones +#title = 'PLCT Lab' # Site title used throughout site +theme = 'hugo-liftoff' + +### SEO, Analytics & 3rd-party +enableRobotsTXT = true # To overwrite the theme's robots.txt, add your own in the /layouts/ directory +rssLimit = -1 # -1 is unlimited RSS entries +# googleAnalytics = '' # Enter GA tracking ID to enable GA4 +# disqusShortname = '' # Enter Disqus shortname to enable comments + +### Content & Publishing +# Please see https://gohugo.io/getting-started/configuration/ for detailed explanations +buildDrafts = false # Default +buildExpired = false # Default +buildFuture = false # Default +canonifyURLs = false # Default +DefaultContentLanguage = "en" +DefaultContentLanguageInSubdir = true +# uglyURLs = true + +[languages] + [languages.en] + contentDir = 'content/en' + disabled = false + languageCode = 'en-US' + languageDirection = 'ltr' + languageName = 'English' + title = 'PLCT Lab' + weight = 2 + [languages.zh] + contentDir = 'content/zh' + disabled = false + languageCode = 'zh-CN' + languageDirection = 'ltr' + languageName = '简体中文' + title = 'PLCT Lab' + weight = 1 + hasCJKLanguage = true + summaryLength = 230 + [languages.ru] + contentDir = 'content/ru' + disabled = false + languageCode = 'ru-RU' + languageDirection = 'ltr' + languageName = 'Русский' + title = 'PLCT Lab' + weight = 3 + [languages.ja] + contentDir = 'content/ja' + disabled = false + languageCode = 'ja-JP' + languageDirection = 'ltr' + languageName = '日本語' + title = 'PLCT Lab' + weight = 4 + hasCJKLanguage = true + summaryLength = 230 + [languages.ko] + contentDir = 'content/ko' + disabled = false + languageCode = 'ko-KR' + languageDirection = 'ltr' + languageName = '한국어' + title = 'PLCT Lab' + weight = 5 + hasCJKLanguage = true + summaryLength = 230 + +#disableAliases = true # Set to true if using server (Netlify, .htaccess) for redirects instead of Hugo +disableKinds = [] # Default +enableEmoji = true # Use Emojis in content +enableGitInfo = false # Default, enable to use git for lastmod (can be overwritten in frontmatter) +ignoreFiles = [] # Default +# newContentEditor = 'code' # Set VS Code as default editor +paginate = 10 # Default +paginatePath = 'page' # Default +#pluralizeListTitles = true # Default +publishDir = 'public' # Default +relativeURLs = false # Default +titleCaseStyle = 'AP' # Default, other options: Chicago (slightly different) or Go (all first letters capitalized) + +### Other +archetypeDir = 'archetypes' # Default +assetDir = 'assets' # Default +dataDir = 'data' # Default +disableHugoGeneratorInject = false # Default +disableLiveReload = false # Default + +[taxonomies] + tag = 'tags' + category = 'categories' + series = 'series' # Allows you to create an organized series of posts (e.g. multi-part tutorial) + project-type = 'project types' # Categorize projects by type (e.g. client work, personal, open source, etc.) + +[permalinks] + [permalinks.page] + # e.g. /subsection/example-post instead of /posts/subsection/example-post + posts = '/:sections[last]/:slug/' # Removes 'posts' from the permalink structure for posts created under nested sub-sections + [permalinks.section] + # e.g. /subsection/ instead of /posts/subsection/ + posts = '/:slug/' + +[markup] + defaultMarkdownHandler = 'goldmark' # Default (everything under [markup] is unless otherwise specified) + [markup.goldmark] + [markup.goldmark.extensions] + definitionList = true + footnote = true + linkify = true + linkifyProtocol = 'https' + strikethrough = true + table = true + taskList = true + typographer = true + [markup.goldmark.parser] + autoHeadingID = true + autoHeadingIDType = 'github' + [markup.goldmark.parser.attribute] + block = false + title = true + [markup.goldmark.renderer] + hardWraps = false + unsafe = false + xhtml = false + [markup.highlight] + anchorLineNos = false + codeFences = true + guessSyntax = false + hl_Lines = '' + lineAnchors = '' + lineNoStart = 1 + lineNos = true # Not the default + lineNumbersInTable = false # Not the default + noClasses = true + noHl = false + style = 'monokai' + tabWidth = 4 + [markup.tableOfContents] + endLevel = 3 + ordered = false + startLevel = 2 + +[related] + # Default related posts settings + includeNewer = false + threshold = 80 + toLower = false +[[related.indices]] + name = 'keywords' + weight = 100 +[[related.indices]] + name = 'date' + weight = 10 +# Remove if not using tags taxonomy +[[related.indices]] + name = 'tags' + weight = 80 + +[sitemap] + # Default sitemap settings + changefreq = 'monthly' + filename = 'sitemap.xml' + priority = 0.5 + +[frontmatter] + # Default frontmatter date settings + date = ['date', 'publishDate', 'lastmod'] + expiryDate = ['expiryDate'] + lastmod = ['lastmod', ':git', 'date', 'publishDate'] + publishDate = ['publishDate', 'date'] + +[caches] + # Default cache settings + [caches.assets] + dir = ':resourceDir/_gen' + maxAge = -1 + [caches.getcsv] + dir = ':cacheDir/:project' + maxAge = -1 + [caches.getjson] + dir = ':cacheDir/:project' + maxAge = -1 + [caches.images] + dir = ':resourceDir/_gen' + maxAge = -1 + [caches.modules] + dir = ':cacheDir/modules' + maxAge = -1 + +[imaging] + # Default image processing settings + anchor = 'Smart' + bgColor = '#ffffff' + hint = 'photo' + quality = 75 + resampleFilter = 'Box' + +### Hugo Pipes +[minify] + disableCSS = false + disableHTML = false + disableJS = false + disableJSON = false + disableSVG = false + disableXML = false + minifyOutput = false + [minify.tdewolff] + [minify.tdewolff.css] + keepCSS2 = true + precision = 0 + [minify.tdewolff.html] + keepComments = false + keepConditionalComments = true + keepDefaultAttrVals = true + keepDocumentTags = true + keepEndTags = true + keepQuotes = false + keepWhitespace = false + [minify.tdewolff.js] + keepVarNames = false + noNullishOperator = false + precision = 0 + [minify.tdewolff.json] + keepNumbers = false + precision = 0 + [minify.tdewolff.svg] + precision = 0 + [minify.tdewolff.xml] + keepWhitespace = false + +### Netlify settings +# add redirects/headers +[outputs] + home = ["HTML", "RSS", "REDIRECTS", "HEADERS"] + +# remove .{ext} from text/netlify +[mediaTypes."text/netlify"] + suffixes = [""] + delimiter = "" + +# add output format for netlify _redirects +[outputFormats.REDIRECTS] + mediatype = "text/netlify" + baseName = "_redirects" + isPlainText = true + notAlternative = true + +# add output format for netlify _headers +[outputFormats.HEADERS] + mediatype = "text/netlify" + baseName = "_headers" + isPlainText = true + notAlternative = true diff --git a/config/_default/menus.toml b/config/_default/menus.toml new file mode 100644 index 0000000..28a59a9 --- /dev/null +++ b/config/_default/menus.toml @@ -0,0 +1,83 @@ +# [[main]] +# # Top-level menu entry +# identifier = "projects" +# name = "Projects" +# url = "/projects/" +# weight = 1 + +# [[main]] +# identifier = "projects" +# name = "Projects" +# url = "/projects/" +# parent = "work" +# weight = 1 + +# [[main]] +# identifier = "about" +# name = "About" +# url = "/about/" +# parent = "work" +# weight = 2 + +# [[main]] +# identifier = "contact" +# name = "Contact" +# url = "/contact/" +# parent = "work" +# weight = 3 + +[[main]] + # Top-level menu entry + identifier = "writing" + name = "PLCT-Weekly" + url = "/en/posts/plct-weekly/" + weight = 4 + +[[main]] + identifier = "News" + name = "News" + url = "/en/news/" + weight = 4 + +# [[main]] +# identifier = "subsection" +# name = "Subsection" +# url = "/subsection/" +# # url = "/posts/subsection/" # Remove url param from subsection/_index.md frontmatter to use full permalink +# parent = "writing" +# weight = 5 + +# [[main]] +# # Top-level menu entry +# identifier = "explore" +# name = "Explore" +# url = "/categories/" +# weight = 6 + +# [[main]] +# identifier = "categories" +# name = "Categories" +# url = "/categories/" +# parent = "explore" +# weight = 6 + +# [[main]] +# identifier = "tags" +# name = "Tags" +# url = "/tags/" +# parent = "explore" +# weight = 7 + +# [[main]] +# identifier = "series" +# name = "Series" +# url = "/series/" +# parent = "explore" +# weight = 8 + +# [[main]] +# identifier = "project-type" +# name = "Project Types" +# url = "/project-types/" +# parent = "explore" +# weight = 9 diff --git a/config/_default/params.toml b/config/_default/params.toml new file mode 100644 index 0000000..12d1bdc --- /dev/null +++ b/config/_default/params.toml @@ -0,0 +1,63 @@ +### SEO, Analytics & 3rd-party +netlify_forms = true # add data-netlify attribute to contact and newsletter forms, false to disable Netlify forms +# gtm_id = '' # GTM tracking (leave blank to use GA) +disallow_search_engines = false # Disallow search engine crawling in robots.txt + +### Content +favicon = true # Enable favicon, add your favicon files to /static/ directory +avatar = './images/wuwei.jpg' # Custom avatar image in /assets/ +grayscale_avatar = false # Add a grayscale filter to the avatar image +author = 'PLCT Lab' # Default author for
meta +description = "Official website of PLCT Lab" # Add a global meta description to +#footer_text = "Built with [Hugo Liftoff](https://github.com/wjh18/hugo-liftoff) theme." # Customize footer text +fallback_text = "No content available yet. Coming soon." # Fallback text for empty content +label_drafts = true # Add a label indicator next to the title of any built drafts (dev only) + +# Customize newsletter text +newsletter_header = "PLCT Lab" +newsletter_description = "This is my custom newsletter description that tells you why you should sign up." +newsletter_submit = "Join now" +global_newsletter = false # Enable newsletter site-wide + +# CSS / JavaScript +enable_postcss = false # Enable if you're using npm and want to utilize PostCSS processing +#custom_css = 'custom.css' # Add the specified file to assets before setting this param to avoid errors +#custom_js = 'custom.js' # Add the specified file to assets before setting this param to avoid errors + +### Web schemas +# Open Graph +images = ['images/default.png'] # Fallback for Open Graph and Twitter Cards images if none are present in front matter. Enter path to the image. +ogLocale = "en_US" # Open graph locale + +# Twitter Cards +twitterSite = "johndoestwitter" # Enter your twitter handle without the @ +twitterCreator = "johndoestwitter" # Enter your twitter handle without the @ + +# JSON-LD structured data schemas +schemaName = "John Doe" # Enter your name +schemaLocale = "en-US" # Structured data locale +schemaImage = "images/default.png" # Image for Person structured data schema. Enter path to the image. +schemaImageWidth = 453 # Width of the above image +schemaImageHeight = 455 # Height of the above image + +### Social +# Show social links in footer, home hero section, or about page +footer_socials = false +home_hero_socials = true +about_page_socials = true + +# Enable or disable individual social icons +[social.links] + github = "plctlab" + email = "wuwei2016@iscas.ac.cn" + # linkedin = "username" # Comment out to disable + # mastodon_server = "example.social" # include subdomains if relevant, scheme not needed (defaults to https) + # mastodon_user = "username" # don't include preceding @ + bilibili = "296494084" + +# Enable or disable individual social share icons in posts +[social.share] + facebook = true + twitter = true + reddit = true + email = true diff --git a/config/development/server.toml b/config/development/server.toml new file mode 100644 index 0000000..0c605a1 --- /dev/null +++ b/config/development/server.toml @@ -0,0 +1,9 @@ +# Adds custom security headers for development environment only +[[headers]] +for = '/**' +[headers.values] + # Content-Security-Policy = 'script-src localhost:1313' + Referrer-Policy = 'strict-origin-when-cross-origin' + X-Content-Type-Options = 'nosniff' + X-Frame-Options = 'DENY' + X-XSS-Protection = '1; mode=block' \ No newline at end of file diff --git a/config/production/hugo.toml b/config/production/hugo.toml new file mode 100644 index 0000000..06ae498 --- /dev/null +++ b/config/production/hugo.toml @@ -0,0 +1,3 @@ +### Config for production environment +# Includes but overwrites anything in _default/config.toml +# Excludes anything in _development/config.toml if it exists \ No newline at end of file diff --git a/config/production/params.toml b/config/production/params.toml new file mode 100644 index 0000000..7ed42e5 --- /dev/null +++ b/config/production/params.toml @@ -0,0 +1,3 @@ +### Params for production environment +# Includes but overwrites anything in _default/params.toml +# Excludes anything in _development/params.toml if it exists \ No newline at end of file diff --git a/content/en/_index.md b/content/en/_index.md new file mode 100644 index 0000000..8b9a1e2 --- /dev/null +++ b/content/en/_index.md @@ -0,0 +1,14 @@ +--- +title: Compilers, Runtimes, and Emulators. +subtitle: The PLCT Lab is a toolchain team focusing on RISC-V related compilers, emulators, and language virtual machines. It is part of Intelligence Software Research Center (ISRC), which is part of Institute of Software, Chinese Academy of Sciences (ISCAS). +seo_title: PLCT Lab + +primary_cta_page: "about" +secondary_cta_page: "projects" + +posts_section_heading: Recent Posts +projects_section_heading: Projetcts +--- + +{{< recent-posts 5 >}} +{{< projects 5 >}} diff --git a/content/en/about/_index.md b/content/en/about/_index.md new file mode 100644 index 0000000..229d915 --- /dev/null +++ b/content/en/about/_index.md @@ -0,0 +1,21 @@ +--- +type: about +linktitle: About +title: Hi, this is PLCT Lab. +seo_title: About +description: Learn more about us. +--- + +PLCT Lab - it is + +## Who am I? + +Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce sem augue, tristique luctus lobortis nec, cursus eu erat. Proin dictum vel enim a vestibulum. + +## My Experience + +Integer est purus, aliquam ac enim aliquet, viverra sodales mauris. Integer neque sapien, fermentum sit amet augue in, vulputate pellentesque turpis. Quisque eget blandit turpis, in semper lectus. + +## Learn More + +You can also link to [other pages]({{< ref "contact" >}}) in your markdown. diff --git a/content/en/news/00-RISC-V-spoc.md b/content/en/news/00-RISC-V-spoc.md new file mode 100644 index 0000000..829e200 --- /dev/null +++ b/content/en/news/00-RISC-V-spoc.md @@ -0,0 +1,146 @@ ++++ +title = 'Preparation for the Inaugural “RISC-V Software Porting and Optimization Championship” Officially Launched' +date = 2023-10-28T00:28:09+08:00 +toc = true +slug = '00' +summary = 'To date, billions of RISC-V devices has already been deployed in the MCU/IoT realms and is poised to challenge established players in the desktop computing, HPC, AI, and database markets. Compared to the embedded and IoT software ecosystem, the world of desktops and servers boast a vast software ecosystem demands considerable porting and optimization efforts.' ++++ + +## Event Name + +RISC-V Software Porting and Optimization Championship + +RISC-V 软件移植及优化锦标赛 + +Чемпионат по портированию и оптимизации программного обеспечения RISC-V + +RISC-V ソフトウェアの移植と最適化チャンピオンシップ + +RISC-V 소프트웨어 포팅 및 최적화 챔피언십 + +## Rationale + +To date, billions of RISC-V devices has already been deployed in the MCU/IoT realms and is poised to challenge established players in the desktop computing, HPC, AI, and database markets. Compared to the embedded and IoT software ecosystem, the world of desktops and servers boast a vast software ecosystem demands considerable porting and optimization efforts. + +In the past few years, the PLCT Lab dedicated a great amount of financial and human resources along with research and development groups around the globe in an effort to enhance RISC-V’s software ecosystem. Today, almost all mainstream Linux distributions are already providing or are actively working to support the RISC-V architectures. Toolchains and runtimes such as GNU, Clang/LLVM, OpenJDK, V8 and SpiderMonkey are now working reliably on RISC-V. + +The fact that open sources software are not as optimized for RISC-V hardware platforms as their x86 and ARM64 counterpart points to the need for more developer input. To help attract developers to the RISC-V ecosystem and to accelerate the advancement of its software ecosystem, the PLCT Lab launched the “RISC-V Software Porting and Optimization Championship.” This championship sets its focus on desktop and server software ecosystems, designing competitive categories for compilers, runtime environments, AI software stacks, etc. and is open to participation by developers around the globe. + +## Championship Organizers + +Host: The PLCT Lab (associated with the Intelligent Software Research Center of the Institute of Software, Chinese Academy of Sciences) + +Event Host: Hangzhou Quancheng Intelligent Software Co., Ltd. + +Co-host: RISC-V China Community (CNRV) + +Note: Organizers are subject to change. Please follow our latest updates on CNRV’s WeChat Official Account. + +## Competitive Categories + +The championship will consist of **porting capture-the-flag** and **optimization sprint** events. + +The **porting capture-the-flag** event sets a particular software for porting to the RISC-V architecture. In essence, the first team or individual to complete and submit the port wins. The host opens a repository for participant submissions, the first to submit their changes and pass the tests will be made the winner. The code submitted during the event will be copyrighted or attributed to the participating individuals or the open source communities that receive the port. We encourage the participants to contribute their code to the upstream projects. + +The **optimization sprint** sets a series of **evaluation criteria**, against which the team or individual’s optimization work will be benchmarked. The teams and individuals will optimize a specified project within a set interval and the best benchmarked project wins. + +Based on the number of participants, the championship will run both individual and team events. For individual events, the participant will complete their work individually and wholly receive any prizes awarded. Events with two or more participants will be listed under the team events category. The team events set no limit on the number of participants and the teams will decide on their own terms regarding how to split the prizes awarded. + +## Championship Schedule + +October 31, 2023: Deadline for Sponsorship Registration + +November 1, 2023 – November 30, 2023: Event Launch an Announcement of Projects + +December 1, 2023 – February 16, 2024: Registration and Competitive Events + +February 17, 2024 – March 1, 2024: Host Assessment of Submissions and Announcement of Winners + +Early April, 2024: Awards Ceremony and RISC-V Technical Seminar + +## Call for Sponsors + +This championship is open to manufacturer sponsorship. We welcome donations from RISC-V manufacturers and look forward to collaborations. + +### Sponsorship Contributions and Perks + +The sponsors may participate in project and prize designs. The sponsors will also be advertised during the events. +Sponsorships start at CNY 200,000 and cap at CNY 1,000,000 (subject to change). Sponsors may negotiate and customize their contribution based on the number of projects and amount of prizes proposed. + +Sponsorships will be utilized as follows: + +- 30% of the amount donated will be used for event organization, as well as costs incurred for staffing, organization, and promotion. + +- 70% of the amount donated will be used as prizes. + +Sponsor perks are as follows: + +- Specifying hardware devices or platforms as porting and optimization targets. + +- Designing competitive projects and rights to derive project designs (more detailed rules to follow). + +- Designing prize distribution schemes and assessing submissions with the host. + +- Attending the awards ceremony and the RISC-V technical seminar, with a 20 minute keynote segment, as well as promotions and hiring, stands, and invitation to the contributors’ dinner. + +- Participating in other host promotional activities, including both in-person and live online events. + +Those who are interested in becoming a sponsor, please get in touch with us: + +- **To: “Wei Wu”** wuwei2016@iscas.ac.cn + +- **Subject: “[RVPOC] Sponsor + your_company_name”** + +## Template: Project Design + +We are currently calling for competitive project designs. Anyone from the various communities for the RISC-V ecosystem are welcome to contribute project designs. Designs may be in the form of a wish list or a software port or optimization. + +Those who are interested in submitting a project design, please submit them here: + +- **To:“Wei Wu”** wuwei2016@iscas.ac.cn + +- **Subject:“[RVPOC] WISHLIST + the software you want to run on rv”** + +### Event Class: Porting Capture-the-Flag + +Winning participants must open source their submissions and contribute their changes to the upstream project. + +| Type | Project | Reference Prizes(in CNY) | Assessment Platform | Sponsor | +| -------- | ----------------------------------- | ------------------- | ----------- | -------- | +| Runtime | Mono on RISC-V | 50,000 | SG2042 QEMU | TBA | +| Runtime | RISC-V V-extension port WASM SIMD REVEC in V8 | 100,000 | SG2042 QEMU | TBA | +| Runtime | Contributions and ideas welcome! | | | | + +### Event Class: Optimization Sprint + +Both open-source and closed source tracks will be hosted. Participants must take part in the open-source track to receive prizes. + +| Type | Project | Reference Prizes(in CNY)| Assessment Platform | Sponsor | +| ------ | ---------- | -------------------- | -------- | -------- | +| JavaScript Engine | Firefox Kraken benchmark optimization | 5,000 | LicheePi 4A SG2042 | TBD | +| JavaScript Engine | V8 bit-ops optimization using the RISC-V B-extensions | 30,000 | Unmatched SG2042 TH1520 | TBD | +| Games | OpenRA optimization on SG2042 platforms (in frames-per-second) | 100,000 | SG2042 SG2044 | TBD | +| rvv0p7 | Translation tool or system forrunning RVV1.0-optimized applications on RVV0.7 hardware that offers maximal performance | 200,000 | | TBD | +| rvv0p7 | Contributions and ideas welcome!| | | | + +## Organization of the Accreditation Committees + +The host (the PLCT Lab) will assemble an Accreditation Committee for each competitive project with open rosters, consisting of industry-renowned developers, sponsorship representatives, vendor representatives, as well as volunteers. The Accreditation Committees will reproduce and assess the submitted results. + +## Championship Awards Ceremony and RISC-V Technical Seminar + +Date: Early April, 2024. +Location: Hangzhou (venue pending, sponsorships welcome). +Format: In-person full-day seminar. +Agenda: To be announced March, 2024. + +## Note to Participants (Updates Forthcoming) + +1.This championship accepts both individual and team participants, with no limit on the number of registered participants. + +2.The competitions will run both open-source and closed source (commercial) tracks. Only participants of the open-source track are eligible for receiving prizes. Those who participate in the closed source (commercial) track will only be recorded in event ranking. + +3.We welcome participants from all countries and regions. Participants from mainland China needs to provide details on their domestic bank cards to receive prizes; +non-mainland China participants must submit their passport or boarder pass information, as well as their bank account details (banks must be SWIFT or CIPS members). + +4.More detailed notes forthcoming. diff --git a/content/en/news/_index.md b/content/en/news/_index.md new file mode 100644 index 0000000..77c28ba --- /dev/null +++ b/content/en/news/_index.md @@ -0,0 +1,5 @@ +--- +title: News +summary: This is our recently news. +description: Explore some of recent posts. +--- \ No newline at end of file diff --git a/PLCT-Roadmap-2021.md b/content/en/posts/PLCT-Roadmap-2021.md similarity index 99% rename from PLCT-Roadmap-2021.md rename to content/en/posts/PLCT-Roadmap-2021.md index d631dc9..c269749 100644 --- a/PLCT-Roadmap-2021.md +++ b/content/en/posts/PLCT-Roadmap-2021.md @@ -1,3 +1,8 @@ ++++ +title = 'Roadmap of the PLCT Lab in 2021' +url = '/PLCT-Roadmap-2021.html' ++++ + # The PLCT Lab 2021 plan in the direction of RISC-V development tool Change history: diff --git a/PLCT-Roadmap-2022.en.md b/content/en/posts/PLCT-Roadmap-2022.en.md similarity index 99% rename from PLCT-Roadmap-2022.en.md rename to content/en/posts/PLCT-Roadmap-2022.en.md index ba8d82d..8667b32 100644 --- a/PLCT-Roadmap-2022.en.md +++ b/content/en/posts/PLCT-Roadmap-2022.en.md @@ -1,3 +1,8 @@ ++++ +title = 'Roadmap of the PLCT Lab in 2022' +url = '/PLCT-Roadmap-2022.en.html' ++++ + # PLCT Roadmap 2022 (This article was translated by Google Translate. Syntax & Semantic issue reporting are welcome.) diff --git a/content/en/posts/PLCT-Weekly.md b/content/en/posts/PLCT-Weekly.md new file mode 100644 index 0000000..db75cac --- /dev/null +++ b/content/en/posts/PLCT-Weekly.md @@ -0,0 +1,113 @@ +--- +title: PLCT Weekly +seo_title: PLCT Weekly +summary: This is our tech blog in English. +description: This is our tech blog in English. +slug: PLCT Weekly +author: PLCT Lab + +draft: false +date: 2020-11-17T21:21:46-05:00 +lastmod: 2020-11-18T21:21:46-05:00 +expiryDate: +publishDate: + +feature_image: +feature_image_alt: + +categories: +tags: + +toc: true +related: true +social_share: true +newsletter: true +disable_comments: false +--- + +This is our tech blog in English. Chinese version is [PLCT-Weekly](https://github.com/isrc-cas/PLCT-Weekly). +If you have questions or sugguests, feel free to [open an issue](https://github.com/plctlab/plctlab.github.io/issues). + +## PLCT Monthly (in English) + +2023 +/ 12 +/ 11 +/ 10 +/ [09](https://github.com/plctlab/PLCT-Weekly/blob/master/2023/2023-09-01.en.md) +/ [08](https://github.com/plctlab/PLCT-Weekly/blob/master/2023/2023-08-01.en.md) +/ [07](https://github.com/plctlab/PLCT-Weekly/blob/master/2023/2023-07-01.en.md) +/ [06](https://github.com/plctlab/PLCT-Weekly/blob/master/2023/2023-06-01.en.md) +/ [05](https://github.com/plctlab/PLCT-Weekly/blob/master/2023/2023-05-01.en.md) +/ [04](https://github.com/plctlab/PLCT-Weekly/blob/master/2023/2023-04-01.en.md) +/ [03](https://github.com/plctlab/PLCT-Weekly/blob/master/2023/2023-03-01.en.md) +/ [02](https://github.com/plctlab/PLCT-Weekly/blob/master/2023/2023-02-01.en.md) +/ [01](https://github.com/plctlab/PLCT-Weekly/blob/master/2023/2023-01-01.en.md) + +2022 +/ [12](https://github.com/plctlab/PLCT-Weekly/blob/master/2022/2022-12-01.en.md) +/ [11](https://github.com/plctlab/PLCT-Weekly/blob/master/2022/2022-11-01.en.md) +/ [10](https://github.com/plctlab/PLCT-Weekly/blob/master/2022/2022-10-01.en.md) +/ [09](https://github.com/plctlab/PLCT-Weekly/blob/master/2022/2022-09-01.en.md) + +## 008 [This Month in PLCT (September 1, 2022)](/reports/2022-09-01.html) + +Wei Wu, et. al., 2022.9.1 + +Get up-to-date on what we have been up to in the past month! + +## 007 [Roadmap of the PLCT Lab in 2022](/PLCT-Roadmap-2022.en.html) + +Wei Wu, 2022.1.19 + +This is the roadmap of the PLCT Lab in 2022. + +## 006 [How to use krypoto extension with GNU toolchain](/k-ext/how-to-build-scalar-cryptography-gnu-toolchain.html) + +Jiawei, 2021.5.20 + +This is the way of how to compile and checkout the scalar cryptography extension with toolchain, which is the sub ISA of RISC-V. + +## 005 [Roadmap of the PLCT Lab in 2021](/PLCT-Roadmap-2021.html) + +Xinyi Li, 2021.1.12 + +This is the roadmap of the PLCT Lab in 2021, which is about our 2021 plan in the direction of RISC-V development tool. + +## 004 [Open Wishlist for RISC-V 2021](/events/RISCV-Open-Wishlist-2021.html) + +Wei Wu, 2020.11.30 + +The PLCT Lab is inviting everyone inside the RISC-V community to write to us the dev-tools or orther softwares you wish to have in the RISC-V ecosystem. +Feel free to open an issue or PR and describe the tools you want. + +## 003 [Create a minimal Android system for RISC-V](/aosp/create-a-minimal-android-system-for-riscv.html) + +Chen Wang, 2020.11.24 + +After a period of hard work, we can now run an Android "minimal system" on QEMU of RISC-V. + +The blog is a brief summary of the current work. Although the road ahead is still long, there is something to have a look. + +## 002 [Building instruction and test of BishengJDK11 on HiFive Unleashed](/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.html) + +Dingli Zhang, 2020.11.20 + +BishengJDK 11 now brings the template interpreter and backends of C1/C2 compiler to the RISC-V world. We supports RV64G (G used to be represent the IMAFD base and extensions of RISC-V ISA) with BV (bit-manipulation and vector extensions) on the way, and the compressed instructions are out of plan. + +This test is to build the JDK on RISCV64 and start to do some benchmark on HiFive Unleashed. + +## 001 [Optimize OpenCV for RISC-V](/opencv/Optimize_OpenCV_for_RISC-V.html) + +Yin Zhang, 2020.11.16 + +This is a Google Summer of Code project participated by Yin, a graduate student of PLCT lab. We adds a back-end implementation based on RISC-V vector extension for OpenCV in this project. This blog introduced the project and how to build and use it. + +## 000 For our staff, graduates, and interns: + +- This repo is hosting English blogs only. Chinese blogs should PR to [PLCT-Weekly](https://github.com/isrc-cas/PLCT-Weekly). +- Do not write contents in this README file. Always create a new markdown file for your article. +- ALL file path should not be moved or renamed. We need to keep all links available in future 10 years. +- ALL filenames should be ASCII w/o spaces. +- feel free to create new subfolder if you have a series of blogs to write. +- Put the new blog on the top of index. diff --git a/content/en/posts/_index.md b/content/en/posts/_index.md new file mode 100644 index 0000000..2892171 --- /dev/null +++ b/content/en/posts/_index.md @@ -0,0 +1,5 @@ +--- +title: Posts +summary: This is our tech blog in English. +description: Explore some of recent posts. +--- \ No newline at end of file diff --git a/aosp/create-a-minimal-android-system-for-riscv.md b/content/en/posts/aosp/create-a-minimal-android-system-for-riscv.md similarity index 98% rename from aosp/create-a-minimal-android-system-for-riscv.md rename to content/en/posts/aosp/create-a-minimal-android-system-for-riscv.md index e30c09f..ba88aa3 100644 --- a/aosp/create-a-minimal-android-system-for-riscv.md +++ b/content/en/posts/aosp/create-a-minimal-android-system-for-riscv.md @@ -1,3 +1,8 @@ ++++ +title = 'Create a minimal Android system for RISC-V' +url = '/aosp/create-a-minimal-android-system-for-riscv.html' ++++ + # Create a minimal Android system for RISC-V Chen Wang, 2020.11.24 @@ -14,7 +19,7 @@ But in the short term, we still have a small goal, which is described in one sen Based on the above objectives, the specific analysis is to realize a minimal Android system. The meaning of "minimal system" here is the so-called "bootable unix-style command line operating system". In the traditional sense, a complete "minimal system" is described on the left side of the figure below. From bottom to top, the bottom is the hardware (note: hardware is not part of our "minimal system"). The first layer of software running on the hardware is the "Operating System Kernel", and upon the OS kernel is the ["C library"](https://en.wikipedia.org/wiki/C_standard_library). Based on the C Library, we can build a minimal file system, which is essentially a bunch of command-line tools. These command-line tools must include at least a ["init"](https://en.wikipedia.org/wiki/Init), which is used to start the basic login shell in cooperation with the kernel, and one ["Shell"](https://en.wikipedia.org/wiki/Unix_shell) is used to interact with users and call other tools and programs. With this "minimal system", our big goal has a foundation. -![a minimal unix-style os](./diagrams/mini-system.png) +![a minimal unix-style os](/diagrams/mini-system.png) Through the investigation of AOSP, I roughly summarized the work we need to achieve as follows: @@ -33,7 +38,7 @@ The above talked about what needs to be done in the overall porting work. In fac - Kernel porting: the kernel version I used tag `android-5.4-stable` for andorid common repository plus tag `android11-release` for configs repository. - The porting of the BIONIC library, as mentioned earlier, is based on the tag `android-10.0.0_r39` too. Considering the requirements in first phase, only the static library of libc is implemented, the dynamic library of libc is not implemented, neither for libm/libdl/libstdc++/linker till now (but I will handle them soon later). In other words, the following executable programs such as toybox and mksh are statically linked. libc is the most important part of bionic, and the composition is quite complex. The main components and the dependencies between them are briefly summarized in following diagram: -![bionic libc](./diagrams/bionic-libc.png) +![bionic libc](/diagrams/bionic-libc.png) - toybox: As mentioned earlier, it is based on tag `android-10.0.0_r39`, but with a lot of tailoring. Because the toybox in Android includes many Android-specific features, such as SELinux and encryption, etc. In order not to involve too much effort in current phase, I disabled these functions and only retain some basic common functions. - mksh: The Shell looks relatively simple, just make sure there is no problem with the compilation. diff --git a/events/RISCV-Open-Wishlist-2021.md b/content/en/posts/events/RISCV-Open-Wishlist-2021.md similarity index 96% rename from events/RISCV-Open-Wishlist-2021.md rename to content/en/posts/events/RISCV-Open-Wishlist-2021.md index 7532d33..7c4cc23 100644 --- a/events/RISCV-Open-Wishlist-2021.md +++ b/content/en/posts/events/RISCV-Open-Wishlist-2021.md @@ -1,3 +1,8 @@ ++++ +title = 'Open Wishlist for RISC-V 2021' +url = '/events/RISCV-Open-Wishlist-2021.html' ++++ + # Open Wishlist for RISC-V 2021 Hi all, diff --git a/k-ext/how-to-build-scalar-cryptography-gnu-toolchain.md b/content/en/posts/k-ext/how-to-build-scalar-cryptography-gnu-toolchain.md similarity index 94% rename from k-ext/how-to-build-scalar-cryptography-gnu-toolchain.md rename to content/en/posts/k-ext/how-to-build-scalar-cryptography-gnu-toolchain.md index a393500..7df49d4 100644 --- a/k-ext/how-to-build-scalar-cryptography-gnu-toolchain.md +++ b/content/en/posts/k-ext/how-to-build-scalar-cryptography-gnu-toolchain.md @@ -1,3 +1,8 @@ ++++ +title = 'How to use krypoto extension with GNU toolchain' +url = '/k-ext/how-to-build-scalar-cryptography-gnu-toolchain.html' ++++ + ## How to build scalar cryptography GNU toolchain Firstly you should prepare the envirmental for build, you can build it on Ubuntu 18.04 LTS or Ubuntu 20.04 LTS diff --git a/opencv/Optimize_OpenCV_for_RISC-V.md b/content/en/posts/opencv/Optimize_OpenCV_for_RISC-V.md similarity index 98% rename from opencv/Optimize_OpenCV_for_RISC-V.md rename to content/en/posts/opencv/Optimize_OpenCV_for_RISC-V.md index 246bd73..936fe09 100644 --- a/opencv/Optimize_OpenCV_for_RISC-V.md +++ b/content/en/posts/opencv/Optimize_OpenCV_for_RISC-V.md @@ -1,3 +1,8 @@ ++++ +title = 'Optimize OpenCV for RISC-V' +url = '/opencv/Optimize_OpenCV_for_RISC-V.html' ++++ + # Optimize OpenCV for RISC-V Zhang Yin, 2020.11.13 @@ -6,7 +11,7 @@ Zhang Yin, 2020.11.13 OpenCV provides a convenient method to port many optimized kernels at once to a new CPU, as long as that CPU supports SIMD/vector instructions. We use so-called Wide Universal Intrinsics for that. By adding implementation of the wide universal intrinsics for RISC-V we can make OpenCV run pretty efficiently on RISC-V architectures. -![Wide Universal Intrinsics](./WUI.png) +![Wide Universal Intrinsics](/WUI.png) Before the start of this project, Wide Universal Intrinsics has obtained several SIMD/vector supports. They are SSE, AVX, AVX2, AVX512 based on x86 architectures, NEON based on ARM architectures, VSX based on IBM power architectures, and MSA based on MIPS architectures. @@ -19,7 +24,7 @@ RISC-V "V" (vector) extension (RVV) is one of the standard extension modules of Intrinsics generally refers to the interface of low-level assembly language in high-level programming language. Most SIMD/vector instruction sets have their own native intrinsics, RISC-V vector extension also. -![RISC-V Vector Extension implmentation](./RVV.png) +![RISC-V Vector Extension implmentation](/RVV.png) We use RVV native intrinsics to implement the vector data types and vector operations of Wide Universal Intrinsics. And add RISC-V (RVV) backend to the compilation environment and options. When OpenCV is compiled and run on RISC-V platform, the Wide Universal Intrinsics used by the frontend algorithms can be successfully compiled into RISC-V vector instructions. diff --git a/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.md b/content/en/posts/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.md similarity index 98% rename from openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.md rename to content/en/posts/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.md index 9836ada..2768775 100644 --- a/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.md +++ b/content/en/posts/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.md @@ -1,3 +1,9 @@ ++++ +title = 'Building instruction and test of BishengJDK11 on HiFive Unleashed' +url = '/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.html' ++++ + + > BishengJDK 11 now brings the template interpreter and backends of C1/C2 compiler to the RISC-V world. We supports RV64G (G used to be represent the IMAFD base and extensions of RISC-V ISA) with BV (bit-manipulation and vector extensions) on the way, and the compressed instructions are out of plan. > > This test is to build the JDK on RISCV64 and do some benchmark on HiFive Unleashed. diff --git a/reports/2022-09-01.md b/content/en/posts/reports/2022-09-01.md similarity index 99% rename from reports/2022-09-01.md rename to content/en/posts/reports/2022-09-01.md index c447c43..dd15dcd 100644 --- a/reports/2022-09-01.md +++ b/content/en/posts/reports/2022-09-01.md @@ -1,3 +1,8 @@ ++++ +title = 'This Month in PLCT (September 1, 2022)' +url = '/reports/2022-09-01.html' ++++ + # This Month in PLCT: Issue 37 (September 1, 2022) ## Preface diff --git a/content/en/projects/_index.md b/content/en/projects/_index.md new file mode 100644 index 0000000..1c199eb --- /dev/null +++ b/content/en/projects/_index.md @@ -0,0 +1,5 @@ +--- +title: Projects +summary: Tell visitors about your projects by customizing this text. +description: Explore some of the projects I've worked on. +--- \ No newline at end of file diff --git a/content/en/projects/project1/index.md b/content/en/projects/project1/index.md new file mode 100644 index 0000000..63489ab --- /dev/null +++ b/content/en/projects/project1/index.md @@ -0,0 +1,26 @@ +--- +title: v8-internals +seo_title: v8-internals +summary: Internal V8 Implementation Documentation for Compiler Developers +description: Internal V8 Implementation Documentation for Compiler Developers +slug: v8-internals +author: PLCT Lab + +draft: false +date: 2019-02-20T03:52:30-05:00 +lastmod: +expiryDate: +publishDate: + +feature_image: web-design.jpg +feature_image_alt: Web design + +project types: + - Open Source + +techstack: + - Nodejs + - v8 +live_url: https://github.com/plctlab/v8-internals +--- + diff --git a/content/en/projects/project1/web-design.jpg b/content/en/projects/project1/web-design.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34e1d4e55090462734fdd1673905640c1c6e5b26 GIT binary patch literal 65567 zcmeFZ2UJwc)-KwBqM(B0jMC&RISD9qlMx9`4w9t-QKDp25NLwr9JGO^X>w?koO6;K z70FSMoaKRA^z5_G`NO;a9q+zzcfqKtRW)nQujZPos(P-fbvknT1#nYAMqUPhfdK$u zoc#e##{tp+EX?z89%G$_OW2pr!&PkT%h)(qadC03;^5$3$G?ty4euHb&JBVac=$JO z65PbSPDn&}ljtme^PCCBc}uKISI-*WyoPh_tn|MbPHO=KSFs?M0azG7044zj76Ha- zBY^fC3t7o;+1ZOJ6#JG%m{Sx*$
z)fr$6OaiP+ghX_zmx)P8&yc7`yu$|asc9I$2#5DhO-n`A^^rkLo)vz(LT@kdlK*rJ
za2*TdtoK+107<|E0As20?M1i$PXE@x-x@gA0M-z?TaOZky5iqYzK|QDDED#BahiL?
z*AWCNBy0puUo#(T&Q2*s0oMo{w^iCI>Wqwmw*i-Y&YJ!o7 pi0TccU+h
zXl=Tg)-&RzLHqIgO&QouvCkZ^M#1cTI=~GUPC(VzR$NbxzM5DGwf_+6C!i<hICY_rW=6%KiF(dO+V0uh2kfZXks302?%2
2OWM4j`w4f0%
zIMj>Jo0UFCZKm){BghTCOW+a@&1DT|$u4(md3m#i_QT%h9=Taq0M-
zwX%)@FRfib3wR%Sc$x>JaUX@0mXsB)Vq<%dlQZ7w^TMLm7JBKYkfZUu#;nj-O+UeE
zA=OJ*xH5Vb>AA{)
0DF3Pk{7(?zc=Ozb
zroQQ8I^YuQ#^WoEpFlhVFaN;AAOHM~_atC~Q+;GLbL_zGsDvMVobA}j9h>IiX@_=<
z>x%F3euUEifjRvhDG*=`|8HKaR-u+NGz>pMGg#_BN@ceRt>R6h%G`KZm41Tmd(Lcj
zI2ShqJ-q7|7}?=v!L7i+ZR(Z-Z4zKp
xOnMjoYbA+
zgssrM&p0Q@c7~JS75I|LIl*(Bf2>4Mc(`#my?d@zZhK
aNrhMBiaX1_L>{YU;t}Y{+^#Pn`k`9G
zI!0}c%s#M{QVl46U|pQwT(c=WVG65;d;x=x;oPyUPHUg6SU#>8P8UsHg?tr#`M~O8
ze%Ct|d=4x@7BbV(@hZd2@a%m$Sv5G8S=*EB3Ho)-UE=YIt9#{c+nAq-IbELi7e>YD
zzR(tlkP96zKaQ+&W&5^Vj=5fxfpIj}8viOUSOA-{F<0hXfuw&9O%1D8NUDGHZQZi4
zXoo9vy)XbW6rtx%wAPT6w2O%dicc