Skip to content

Commit 62ea15d

Browse files
committed
change gitpages workflow
1 parent e60f59a commit 62ea15d

File tree

4 files changed

+63
-42
lines changed

4 files changed

+63
-42
lines changed

.github/workflows/pages.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# .github/workflows/pages.yml
2+
name: Build and Deploy Jekyll Site
3+
4+
on:
5+
push:
6+
branches: ["gh-pages"] # Or "master" if that is your default branch
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: "pages"
16+
cancel-in-progress: false
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
- name: Setup Ruby
25+
uses: ruby/setup-ruby@v1
26+
with:
27+
ruby-version: '3.1' # This version works well with recent Jekyll versions
28+
bundler-cache: true # This will run `bundle install` and cache your gems
29+
- name: Setup Pages
30+
id: pages
31+
uses: actions/configure-pages@v5
32+
- name: Build with Jekyll
33+
# Use the build command with the baseurl set by the configure-pages action
34+
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
35+
env:
36+
JEKYLL_ENV: production
37+
- name: Upload artifact
38+
# Automatically upload the built site from the `_site` directory
39+
uses: actions/upload-pages-artifact@v3
40+
41+
deploy:
42+
environment:
43+
name: github-pages
44+
url: ${{ steps.deployment.outputs.page_url }}
45+
runs-on: ubuntu-latest
46+
needs: build
47+
steps:
48+
- name: Deploy to GitHub Pages
49+
id: deployment
50+
uses: actions/deploy-pages@v4

Gemfile

Lines changed: 11 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,18 @@
1+
# frozen_string_literal: true
2+
13
source "https://rubygems.org"
2-
# Hello! This is where you manage which Jekyll version is used to run.
3-
# When you want to use a different version, change it below, save the
4-
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
5-
#
6-
# bundle exec jekyll serve
7-
#
4+
5+
# This specifies the Jekyll version and its dependencies.
6+
# 'github-pages' is a gem that bundles all the standard Jekyll plugins.
87
gem "github-pages", group: :jekyll_plugins
9-
gem "jekyll-include-cache", group: :jekyll_plugins
10-
gem 'jekyll-archives', group: :jekyll_plugins
11-
gem "json"
128

13-
# require for github pages for minimal-mistakes theme
14-
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
15-
# uncomment the line below. To upgrade, run `bundle update github-pages`.
16-
# gem "github-pages", group: :jekyll_plugins
17-
# If you have any plugins, put them here!
9+
# Add your custom plugins here. These are plugins not included in the
10+
# default 'github-pages' gem.
1811
group :jekyll_plugins do
19-
gem "jekyll-feed", "~> 0.12"
2012
gem "jekyll-toc"
13+
gem "jekyll-archives"
14+
gem "jekyll-include-cache"
2115
end
2216

23-
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
24-
# and associated library.
25-
platforms :mingw, :x64_mingw, :mswin, :jruby do
26-
gem "tzinfo", ">= 1", "< 3"
27-
gem "tzinfo-data"
28-
end
29-
30-
# Performance-booster for watching directories on Windows
31-
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
32-
33-
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
34-
# do not have a Java counterpart.
35-
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
36-
37-
38-
gem "webrick", "~> 1.8"
17+
# WEBrick is required for 'bundle exec jekyll serve' with Ruby 3.0+
18+
gem "webrick", "~> 1.8"

_config.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,6 @@ plugins:
4545
- jekyll-feed
4646
- jekyll-include-cache
4747

48-
whitelist:
49-
- jekyll-remote-theme
50-
- jekyll-paginate
51-
- jekyll-sitemap
52-
- jekyll-gist
53-
- jekyll-feed
54-
- jekyll-toc
55-
- jekyll-include-cache
56-
5748
# jekyll-toc configuration
5849
toc:
5950
min_level: 2

docs/_posts/2025-07-10-deconstructing-kunpeng-916.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Some of the best stories in hardware start not in a corporate lab, but in a corn
2222
The scene was the Xeon Phi Discord, a place for folks who appreciate esoteric hardware. A user named Resbi dropped a message that immediately caught my attention:
2323

2424
> Resbi — 9 July at 16:51
25-
>
25+
>
2626
> I got ssh to a Hi1616 2x32 cores TaiShan 2280 server
2727
2828
Suddenly, a special beast was on the network. The Kunpeng 916 (Hi1616) is a fascinating chip. Released around 2017, it was one of Huawei's first serious forays into multi-socket ARM server CPUs, a shot across the bow of the x86-dominated data center. But unlike its more modern successors, its inner workings are largely a black box.
@@ -61,7 +61,7 @@ The resulting 64x64 matrix was a beautiful, symmetrical blueprint of the server'
6161

6262
1. **Two Sockets:** The map was split into four big 32x32 quadrants. Communication *within* the first 32 cores and *within* the second 32 cores was fast (blue). Communication *between* the two groups was slow (red). Classic dual-socket system. This confirmed the "2x32 cores" in Resbi's initial message.
6363

64-
2. **Two Dies Per Socket:** Zooming into a single 32-core socket, we saw another split. Cores 0-15 could talk to each other faster than they could talk to cores 16-31. This was the smoking gun for a Multi-Chip Module (MCM) design. Each 32-core Kunpeng 916 CPU wasn't one monolithic piece of silicon, but two 16-core dies living in the same package. As Resbi confirmed: "YES... 1 die has 16 cores". HiSilicon refers to these two compute dies as the Super CPU cluster (SCCL).
64+
2. **Two Dies Per Socket:** Zooming into a single 32-core socket, we saw another split. Cores 0-15 could talk to each other faster than they could talk to cores 16-31. This was the smoking gun for a Multi-Chip Module (MCM) design. Each 32-core Kunpeng 916 CPU wasn't one monolithic piece of silicon, but two 16-core dies living in the same package. As Resbi confirmed: "YES... 1 die has 16 cores". HiSilicon refers to these two compute dies as the Super CPU cluster (SCCL).
6565

6666
3. **Two Clusters Per Die:** Digging even deeper into a single 16-core die, we saw yet another boundary. Cores 0-7 communicated faster with each other than with cores 8-15. This meant each 16-core die was composed of two 8-core clusters.
6767

0 commit comments

Comments
 (0)