顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2020-07-14 17:58:06
看板 PC_Shopping
作者 a58524andy (a58524andy)
標題 [情報] Alder Lake沒有AVX512,於是Linus又開嘴惹
時間 Tue Jul 14 01:16:06 2020


不過嘴的不太是針對「啊你怎麼拔了AVX512」這部分
而是針對AVX512本身這部分




背景:
phoronix發現Intel最近替GCC 11新增自家Sapphire Rapids、Alder Lake系列CPU
支援的程式碼中,並沒有AVX512相關的部分
也就是Intel新的大小核Alder Lake架構不會支援Intel常常拿來廣告的AVX512指令集擴充
然後創世神Linus Torvalds又双叒開始嘴砲了

source: https://www.realworldtech.com/forum/?threadid=193189&curpostid=193190
        https://reurl.cc/exN7Q7
Linux Hardware Reviews, Open-Source Benchmarks & Linux Performance - Phoronix Phoronix is the leading technology website for Linux hardware reviews, open-source news, Linux benchmarks, open-source benchmarks, and computer hardwa ...

 




個人渣翻:

------------------------------------------------------------------------------

    我希望AVX512會一敗塗地,而Intel會開始做些比較實際的工作
    而不是多塞些奇怪的指令
    然後替那些指令量身訂做些跑分。

    我希望Intel能夠腳踏實地些:繼續推進製程節點,並且不要整天只是想在
    高效能運算或是其他冷門領域耍些花招
    而是把這些心思放在該如何讓一般的程式都能跑得更快上

    我之前就提過了,這次我再重申一次:
    就算是在x86架構最輝煌的那個年代
    那個Intel錢淹腳目、除了Intel沒一個能打的年代
    Intel的浮點運算其實是弄得最爛的那家
    單論浮點運算的相對效能,根本是Intel反過來被各家壓著打的
    不過這根本無足輕重

    因為除開跑分的時候根本沒人在乎

    目前AVX512的處境基本上是一樣的,而我會說未來也會是這樣。
    對啦,你要找的話當然可以找到一些應用非常倚賴AVX512的支援

    不過宏觀來說根本沒幾隻貓會專門為了這類應用而真的掏錢添購機器。


    並且AVX512是有其負面影響的。
    我反而更希望Intel把那些電晶體花在其他真正緊要的刀口上。
    例如拿去加速GPU的浮點效能啦
    甚至單純只是給我更多的實體核心,單線程性能強大、而沒有AVX512這種垃圾的核心
    基本上就是AMD目前弄的這樣。

    我希望我的CPU頂到功耗上限的原因是真的在跑日常的整數運算
    而不是其他AVX512之類燙到爆炸、只會讓處理器降頻
    ──畢竟,多數人會用AVX512的理由是拿來memcpy (*1)──
    以及浪費矽晶圓面積,導致塞不下更多實體核心的指令。

    是的,我有些偏見。
    我恨透了浮點數跑分這檔事,但我也知道的確有些人很看重這部分的效能。
    不過我還是認為AVX512本身就是個餿主意,怎麼想也不該用它做為解決方案。
    可能我有些反應過度,不過我就是這樣認為的。
    Intel有過一些錯誤決定,而AVX512本身絕對是其中最經典的那幾個
    部分原因也是因為它助長了x86市場的碎片化。

    不要再弄這類專門加速冷門應用的玩意了
    你該做的是盡心盡力地去讓那些最常見、多數人真正在意的場景跑得更快些。
    隨便弄個不要太鳥的浮點運算,單單這樣人們就會買單了
    我會說AVX2就已經非常足夠了。

    對,我很容易被戳到。

------------------------------------------------------------------------------


(*1)
以C的語法來說,要快速初始化/複製一段記憶體區塊
你需要的是<string.h>裡面的memset啦memcpy之類的東西
前者把一塊MEMory都SET成某個預設值
後者幫你把一塊MEMory CoPY到其他地方
(對,部分人士真的很懶得打字)

而一般x86-64來說,這部分可能是以64-bit為單位去操作的
而處理器如果額外有avx512擴充的話
裡面的其中幾個指令可以達成一樣的效果,而且是用512-bit為單位去操作
想當然爾能夠快上許多──AVX512指令CPI跟普通指令一樣、並且不要降頻的話




小結:

浮點數運算不是所有應用都用得到的
而專注於浮點數的指令層平行化的AVX512更然
kernel就是一個用不太多的例子 嗯雖然我根本不懂,暫且這樣說吧
而AVX512又耗電又佔面積
會被Linus嘴也是合理

歷史上有過不少CPU附了專用的指令
基本上也是當時有需求才會有這樣的設計
不過這需求是否真的是需求則見仁見智
以前甚至有單個指令完成某段記憶體區段的傅立葉變換的
然後就沒有然後了








TL;DR

Intel自己搞出來AVX512,結果也不是普及到自家所有產品
用途又相對稀少
Linus認為Intel不該費心在這類冷門應用
那些電晶體拿來改進IPC啦或是單純多塞核心啦有用多了



喔對這邊有另一個觀點,這篇洪教授的文算平衡打擊
https://www.facebook.com/shihhaohung/posts/4148325648543225
沒問就轉貼的關係,就不講內容了
有興趣自己點個

--
※ 文章代碼(AID): #1V39RQsy (PC_Shopping)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1594660570.A.DBC.html
AreLies     : 這樣粉粉怎麼吹AVX5121F 07/14 01:25
yymeow      : 推個2F 07/14 01:27
WARgame723  : 難怪被說不懂裝懂的科技頻道3F 07/14 01:27
yymeow      : 我只知道只要測試軟體一操AVX512,大概就等同後燃器4F 07/14 01:28
WARgame723  : 連Avx512都能噴,你怎麼不去噴zen2加了完整的2565F 07/14 01:28
yymeow      : 全開。溫度跟功耗都衝到頂點6F 07/14 01:28
AreLies     : 此Linus非Linus7F 07/14 01:28
ceming      : 723你真的丟臉到家 哪個Linus你也不知道8F 07/14 01:31
ceming      : 不懂就滾回去躲棉被哭比較不會被人笑你
Oxyuranus   : 某樓看一下是哪個Linus再說話好嗎...10F 07/14 01:34
AreLies     : 有一個Linus是Linux核心的首要架構師11F 07/14 01:34
AreLies     : 另一個Linus是Linus Media Group創辦人
k2450       : Linus Torvalds有兩個?13F 07/14 01:36
AreLies     : 723是在嘴哪個Linus14F 07/14 01:36
AreLies     : Linus Torvalds跟LINUS SEBASTIAN啊
WARgame723  : 看錯,原來是那老人那不意外阿,仇i都仇多久了16F 07/14 01:38
isaac42     : #浪費社會晶圓17F 07/14 01:39
AreLies     : 其實Linus Torvalds也有嘴過其他團隊跟公司 比較有18F 07/14 01:43
AreLies     : 名的Nvidia, fuck you!
AreLies     : 還有說OpenBSD的團隊是一群
AreLies     : “Masturbating Monkeys”
birdy590    : 這次嘴的有道理啊 根本走火入魔了 到底誰定的方向22F 07/14 01:44
AreLies     : 還有Linus今年才從intel換AMD 要仇Intel也想太多23F 07/14 01:44
birdy590    : Intel 會一路下坡 跟這種迷航絕對脫不了關係24F 07/14 01:45
asiakid     : 靠北 我原本想護航723只是反串而已XD25F 07/14 01:45
MK47        : AVX512你不如用顯卡去算26F 07/14 01:56

----------------------幫你highlight-------------------------------------------
Bencrie     : 去翻 glibc 的 source 你就知道 memcpy 一堆版本27F 07/14 02:00
Bencrie     : 各種 SIMD 實作。因為要滿足特定條件的長度才能用
------------------------------------------------------------------------------

miname      : 版上不少跑深度學習的就因為MKL買intel啊,MKL就靠A29F 07/14 02:08
miname      : VX撐啊,所以就取向的不同啦,Linus講的是PC,洪教
miname      : 授講資料中心,至於intel PC產品線明明就是分開的還
miname      : 有AVX就...
miname      : 那個洪教授也是個嘴砲仔就是了,Linux kernel 要是
miname      : 真如他所說要用AVX就變成要多一個intel64的branch了

感覺他觀點不太像這樣(?
https://reurl.cc/kdz3Yd

miname      : 所以我說他是以資料中心觀點出發啊35F 07/14 02:29
miname      : 然而你要是裝一張NV顯卡,深度學習還是只會跑在顯卡
miname      : 上面,AVX還是無用

我是指洪有說他不是硬要kernel去應用AVX512的部分

誠然不同專業的人會有不同觀點
除了推文提到的MKL之外
可能做多媒體的人也真的覺得AVX512不錯快、Linus只顧kernel之類(?
不過我也沒寫過就是(逃

dieorrun    : 723要嘴LTT都還不夠格了 更何況創世神38F 07/14 02:30
miname      : 說他嘴砲就是明明這件事情扯不上kernel要不要用浮點39F 07/14 02:34
miname      : 數,他硬要扯遠說他們抗拒浮點數

原來XD

Shauter     : 沒讀過白算盤的c52又要咬人了41F 07/14 02:38
friedpig    : 居然拔掉了  這樣怎麼讓溫度突破天際42F 07/14 02:38
aegis43210  : HSA才是最終解決方案43F 07/14 02:41
jacky841224j: 浮點運算Intel有輸過AMD嗎?我怎麼記得是I的強項44F 07/14 02:41
friedpig    : 不過牙膏王特規的還不只這個勒  未來ml還多做一堆in45F 07/14 02:43
friedpig    : t4 int8的運算指令集 也是各種搞事的兇手
AreLies     : AVX512跑分好看 實際應用又是另一回事47F 07/14 02:44
friedpig    : 其實兩邊就在意的東西不同而已  做kernel的喜歡乾乾48F 07/14 02:46
friedpig    : 淨淨 越不特規越好  最好都堆滿電晶體衝傳統效能
friedpig    : 做AI的當然有方便的ASIC幫忙加速屌打通用電路
miname      : 然後洪教授最後一句我有些意見,要單一核心又快是可51F 07/14 02:47
miname      : 以從架構上改善的,最無腦就把AVX的空間拿去塞cache
miname      : 啊,你教計算機結構那麼久了不知道嗎?
friedpig    : 牙膏廠是商業取向的 同樣面積去換一點點效能差異的54F 07/14 02:48
friedpig    : 通用效能  還是有商業市場的AI特規效能  哪種好賣錢
friedpig    : 就不好說了
friedpig    : cache也不是無腦塞永遠都有用 整體設計都要對著調啊
friedpig    :   重點是cp值不夠的問題吧  同樣面積換到可能5%不到
friedpig    : 的進步  拿去換成ASIC可能幾倍在算的差距
friedpig    : 牙膏王之前更極端還有考慮塞FPGA進去  也有prototyp
friedpig    : e出來  不過好像有點沒搞頭
labbat      : 原來linux 核心會用浮點指令浮點暫存器(惶恐)62F 07/14 02:52

現在才發現這樣寫怪怪的XD
改了

miname      : 但是作ML的人隨便一張顯卡就屌打你的AVX了,所以純C63F 07/14 02:53
miname      : PU跑分很讚,但是用不到
karta1897830: jacky大 AMD一直以來路線都是把浮點運算放在顯卡,C65F 07/14 02:54
karta1897830: PU是直接放生,沒記錯是這樣
friedpig    : 牙膏王現在在推的是混合的拉  cpu前處理加減扣點時67F 07/14 02:54
friedpig    : 間 還是多少有幫助
wres666     : avx512實際上是有用的吧,我的1035g1跑matlab比同學69F 07/14 02:55
wres666     : 的10210u快超多的,那個時候用cpuz看就是多了avx512
friedpig    : 接下來大概是想推深度跟自家顯卡結合的cpu+gpu方案71F 07/14 02:56
friedpig    : 看能不能勉強幹過純nv gpu方案吧
jior        : 自己搞AVX512然後又要做大小核,結果小核不能跑AV73F 07/14 03:00
jior        : X512又把他拔掉,以後難道只有XEON能跑?
friedpig    : 不過我記得之前爆料好像只有小核阿痛不支援512吧75F 07/14 03:03
friedpig    : 大核有不支援嗎  有點忘了
yymeow      : 沒有也好,會涼一點77F 07/14 03:08
hsparrot    : 需要AVX512的去買I,不需要的去買A,問題解決78F 07/14 03:24
potatososo  : avx!79F 07/14 03:25
DoBahaha    : 反正就是嘴Intel不要只會先射箭再畫靶80F 07/14 03:39
DoBahaha    : 實際一點整天打高空
BFer        : 723不意外82F 07/14 05:51
brovet      : 洪講的Linus Torvards 是哪位??有這個人嗎 有夠83F 07/14 05:51
brovet      : 不專業
will3509111 : 而且AVX-512本身也很雜....85F 07/14 05:56
will3509111 : Xeon和Xeon Phi跟Desktop用的AVX-512也有各種微妙
will3509111 : 的差異
tyl510288   :  https://i.imgur.com/nOo3xwm.jpg88F 07/14 07:13
[圖]
AJizzInPants: 反正怎樣723都要嘴 哪個人有723了解指令集?89F 07/14 07:21
AKSN74      : 他早就放棄I皇了XD90F 07/14 07:28
miname      : 洪教授的專業可多了,一下資安專家,一下硬體專業,91F 07/14 07:35
miname      : 一下OS大師,一下深度學習,還有啥不是他專業的?
tonyian     : 要浮點加速丟給gpu好嗎,不要拿核心運算來浪費,分93F 07/14 07:38
tonyian     : 工,比起洪我更相信Linux
basacola    : 沒有讀過白算盤的C52 XDDDDDDDDDDDDDD95F 07/14 07:51
felaray     : 記憶體區塊的fft轉換...聽起來好雞肋但又好酷XD96F 07/14 08:15
goldie      : 推白算盤XDDD97F 07/14 08:15
felaray     : 723正常發揮98F 07/14 08:16
wenli978    : 創世神的觀點很白算盤啊,就是加速日常最多用到的99F 07/14 08:28
wenli978    : 指令集,而不是浪費電路去做其他奇怪的東西
kira925     : Linus說的很理想也很直觀 就是最精簡做最集中的事情101F 07/14 08:53
kira925     : 是說也不是第一次噴牙膏王 前兩年的Meltdown超噴
※ 編輯: a58524andy (140.112.244.224 臺灣), 07/14/2020 09:00:12
kira925     : 另外他其實是絕對精簡派 他也噴了AVX2 甚至MMX(笑103F 07/14 09:03
kira925     : 不過相對於碎片化的AVX512 他能忍受就是XDD
birdy590    : 這意思就是 消費者導向的產品裡不要浪費空間塞這個105F 07/14 09:10
birdy590    : 硬塞進去也不會有人感謝你 更不會因此增加競爭力
kira925     : 他是徹底反對碎片化阿 不是消費市場而已107F 07/14 09:12
kira925     : 他甚至嘴了ARM的SVE會在HPC幹掉Intel的AVX512
birdy590    : 放在 Xeon Phi 這種產品或是 GPU 裡不算碎片化啊109F 07/14 09:12
birdy590    : 所以我第一句用的形容詞就是"走火入魔"
birdy590    : 到 AVX2 為止付出的代價都還可以接受 之後就入魔了
goldie      : 碎破化很像是叫使用者不要用它;有礙推廣112F 07/14 09:15
friedpig    : User其實還好啦 大部分髒活都底層的人處理的113F 07/14 09:37
friedpig    : Complier也是牙膏廠自己花心力弄得 弄好有支援就跑
friedpig    : 不支援就傳統方法而已 對特定用途就是有幫助
friedpig    : 這種東西就一翻兩瞪眼  如果真的沒需求或效益太差
kira925     : 但Linus就是那個幹髒活的人...117F 07/14 09:38
friedpig    : 自然會被淘汰  不過AI正在風頭上 應該難喔118F 07/14 09:39
friedpig    : kenral跟Complier還是不太一樣的東西 跟他沒啥關係
Windcws9Z   : 浪費矽晶圓面積笑死120F 07/14 09:48
friedpig    : 最明顯差異大概 MKL Intel優化越來越極端吧121F 07/14 09:50
friedpig    : 不過牙膏這樣也是劍走偏鋒 做軟體的越來越不可能特
friedpig    : 地為了他們優化 等於牙膏廠要自己砸越來越多成本壓
friedpig    : 在底層lib跟complier優化 還要一堆Support的人去幫
friedpig    : 忙解奇怪的問題 是越走越極端了
wahaha99    : 啊還要考慮linux又不是只支援你i家一家cpu126F 07/14 10:15
wahaha99    : 多少狗屎爛蛋都支援 前陣子才從清單刷掉一大波
wahaha99    : 你i皇整天搞我一下支援一下又不支援 是要操蛋誰
wahaha99    : 光這層面linus就有資格嘴爆i皇
kira925     : Kernel裡面一堆奇奇怪怪的東西 怎麼會跟他無關130F 07/14 10:21
kira925     : 別忘了牙膏王的Meltdown/Spectre 還是要Kernel配合
kngs555     : 不過牙膏現在除了砸錢外,目前還是無法突破困境132F 07/14 10:24
Nexus5X     : 啊不是說AVX512是微軟叫i皇做的嗎XD133F 07/14 10:36
commandoEX  : 照著Linux說法,推土機不就是他要的理想CPU XD134F 07/14 10:47
commandoEX  : 除了沒用的SSE4a指令集
commandoEX  : *LINUS
robin80829  : 723尷尬癌末期了137F 07/14 10:59
kira925     : 但推土機單核不行啊XD138F 07/14 11:09
AppleWine   : 硬體部門遇到莫名障礙 可4我們軟體部門正常發展139F 07/14 11:12
kobelake    : linus有我們A黑大將懂CPU嗎==140F 07/14 11:19
cancelpc    : 其實可以像以前把特殊領域需要的部分切出去。141F 07/14 11:26
cancelpc    : 如早期的 FPU 是另外一顆 IC 處理地,不須包在通用
cancelpc    : 功能的 CPU 裡。避免增加成本,以及開發生產的困難
cancelpc    : 度。可視需要選購。
friedpig    : 那東西又沒需求高到值得額外開一顆 而且連接速度也145F 07/14 11:29
friedpig    : 是問題 雖然牙膏王最終藍圖的確有打算要拆一拆
cancelpc    : 若 AVX 對 AI 等領域有特殊幫助,並不需要讓每個客147F 07/14 11:32
cancelpc    : 戶都得負擔這個成本。
cancelpc    : 就跟 Intel 現行分出無內顯的 ....F (雖然還是做在
cancelpc    : 裏頭,並沒真正移除電路)
friedpig    : 別想了 就是那小眾頂不住才會這樣強渡關山 不然就151F 07/14 11:36
friedpig    : 會乖乖做ASIC了
guezt       : 推土機確實在linux上某些測試效能可和i對抗153F 07/14 11:36
sharkbay    : https://i.imgur.com/vzvbhVM.jpg 真熱鬧~154F 07/14 11:37
[圖]
niverse     : 不知道就說不知道,在那邊牽拖看錯,要不要再牽拖155F 07/14 11:37
niverse     : 你媽把你生出來?
guezt       : 但當時(現在也是)很多程式還是單核至上 尤其windows157F 07/14 11:38
friedpig    : 所以的確是阿痛不支援 大核還是正常?158F 07/14 11:39
friedpig    : TSX不是完全放棄了喔 所以新架構修好又在出發?
sharkbay    :  https://reurl.cc/0orbm6 product-briefs160F 07/14 11:40
friedpig    : 不過話說牙膏王也投蠻多人在做DPC++這種跨所有平台161F 07/14 11:44
friedpig    : 的complier 這種也應該能發揮硬體優勢就是
sharkbay    : Lakefield 1+4, Alder Lake-S 8+8, 應該可直接類推163F 07/14 11:45
friedpig    : ADL的core不是更新的嗎?164F 07/14 11:45
Bencrie     : 規模不夠大的話 GPU 浮點會算輸 CPU SIMD165F 07/14 11:57
flylee      : 一個task從CPU丟到GPU,就要浪費一段時間166F 07/14 12:51
flylee      : GPU API又分AMD, nvidia, intel
arrenwu     : 現在 GPU encoding 跟 CPU 相比差距有多大啊168F 07/14 12:52
flylee      : 一些高計算量的工作,如果 CPU能做完169F 07/14 12:54
flylee      : 其實大家也懶得去呼叫 GPU來幫忙
bubunana    : avx ai什的好複雜 書讀的不多 請問跟av 或avi有關嗎171F 07/14 12:56
bubunana    : ?
flylee      : 只是有沒有必要去搞 AVX512的確是個問題173F 07/14 12:57
arrenwu     : 我覺得一般的數值分析行為,大多也不會用GPU174F 07/14 12:58
friedpig    : 圖靈encode已經到可以用程度拉  接下來再多塞硬體175F 07/14 12:59
friedpig    : 只會更好而已
flylee      : AMD的R9 3950x(avx2) 就把 10980XE打好玩的177F 07/14 12:59
friedpig    : 反正老黃很精 傳統遊戲性能的提升一直在控  都先做178F 07/14 12:59
friedpig    : 邊邊角角的東西
friedpig    : 12->7 這代密度提升快三倍  老黃又屌炸天 die size
friedpig    : 看起來大概不會變小多少了  多快三倍電晶體 想幹嘛
friedpig    : 就幹嘛
friedpig    : 不過說真的 AI雖然這麼熱 但是真的有商業價值的東西
friedpig    : 好像也還好 不知道什麼時候又要循環了 CS每幾年就換
friedpig    : 個東西炒
Bencrie     : 不炒經濟會停滯 (x186F 07/14 13:09
dxzy        : WARgame723真的丟人現眼 無知就算了文章也不會讀187F 07/14 13:28
kira925     : 其實想一想也滿奇怪的 明明AI都是只算模型 用戶端188F 07/14 13:45
kira925     : 只管用不管算 結果塞了一堆訓練用的電路要幹嘛...
winiel559   : 某些應用需要能在Local算,例如臉部辨識解鎖190F 07/14 13:50
Fezico      : AI能綁的的東西太多,搞不好這十年CS都吃這碗飯191F 07/14 13:56
birdy590    : 這跟技能樹一樣 點數有限 低效益技能分配太多會掛192F 07/14 13:59
iWRZ        : 這個Linus等級比另外一個Linus高到銀河系遠好嗎?193F 07/14 14:04
iWRZ        : 全世界大部分伺服器和超級電腦的作業系統核心都是
iWRZ        : 他寫的
arrenwu     : 沒那麼誇張吧XD 後來各自有社群在修改和維護啊XD196F 07/14 14:10
AmibaGelos  : i皇就萬惡之源啊 mmx砍stack卻動到x87 x64 sse2好197F 07/14 14:16
AmibaGelos  : 不容易淘汰x87統一天下又來avx avx 號稱encode清乾
AmibaGelos  : 淨又冒出avx512 套用水球大的話i真的是奇謀而短orz
dxzy        : 他有不可動搖的貢獻跟最終裁量權? 但不會去寫了200F 07/14 14:17
iWRZ        : 支持這個理論 Pytorch和tensorflow明明有顯卡可吃201F 07/14 14:17
iWRZ        : 偏要AVX2 CPU才能跑 要不然source抓回來自己編
iWRZ        : 浮點數計算顯卡海放CPU不知道幾條街了
iWRZ        : 要不然超級電腦狂插Tesla卡插得比礦機多是要幹嘛
arrenwu     : 他沒有裁量權吧?不然這東西怎麼open?205F 07/14 14:21
arrenwu     : 不過 PyTorch或Tensorflow有一定要支援AVX2的CPU喔?
kira925     : 他有 Linux Kernel的Merge Window與版本確定207F 07/14 14:29
kira925     : 都是他在發的 他也臭幹過很多次各家公司發垃圾
kira925     : 要放進Kernel
friedpig    : 現在都強調edge了拉  local要有簡單訓練能力local最210F 07/14 14:41
friedpig    : 佳化模型
kimisawa    : 等一下723你說Linus 仇i搞錯什麼了嗎212F 07/14 15:10
kimisawa    : 他撐著用i多久了 是幾個月前才受不了
AreLies     : 兩個Linus其實都是今年才把自己的主機換成AMD214F 07/14 15:45
AJizzInPants: 自己搞不清楚狀況被笑還要嘴硬講年紀215F 07/14 16:14
AJizzInPants: 可憐哪.jpg
AJizzInPants: 不管是反串還是真的fanboy都是可憐

--
※ 看板: PC_Shopping 文章推薦值: 0 目前人氣: 0 累積人氣: 301 
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇