Tinatanggal ng Linux 6.3 ang suporta para sa Intel ICC compiler

Tux, ang mascot ng Linux Kernel

Ang Linux kernel ay ang backbone ng Linux operating system (OS), at ang pangunahing interface sa pagitan ng hardware ng computer at ng mga proseso nito.

Kamakailan ay inanunsyo ni Linus Torvalds na nagsara na ang Linux 6.3 kernel merge window at inaalis na ng bersyong ito ang suporta para sa Intel ICC compiler. Sa partikular, ito ang Intel ICC compiler, na mas kilala bilang "Intel C++ Compiler Classic" bago ito lumipat sa LLVM/Clang gamit ang modernong Intel DPC++ compiler.

Sa unang release na kandidato ng Linux 6.3 alam namin ang kaunti pa tungkol sa mga tampok at pagbabago sa bagong bersyon ng kernel na ito. Isa sa mga pangunahing tampok na idinagdag sa Linux 6.3 ay ang bagong tool na "rtla hwnoise".

Ilang buwan na ang nakalilipas, may usap-usapan na ititigil na ng Linux kernel ang pagsuporta sa ICC compiler ng Intel , at ngayon, gamit ang Linux 6.3, mayroon na ito . Sa katunayan, habang ang LLVM/Clang compiler ay lalong ginagamit ng iba't ibang developer at organisasyon upang buuin ang pangunahing Linux kernel bilang pandagdag sa GCC compiler, na matagal nang pangunahing pokus ng compiler, ang ICC compiler ng Intel ay may kakayahan ding buuin ang Linux kernel, bagama't hindi ito malawakang ginagamit. Ngunit nagpasya ang mga developer ng kernel na itigil ang suporta para sa ICC compiler.

Una, ang Intel ICC ay isang lubos na na-optimize na C (icc) at C++ (icpc) compiler na ginagamit ng ilang developer at organisasyon upang lumikha ng Linux kernel. Ang standalone na bersyon ay napalitan na ng Intel OneAPI.

Ang ideya ng pag-alis ng suporta para sa ICC compiler ng Intel ay unang inihain noong nakaraang Oktubre ng Linux developer na si Masahiro Yamada. Ayon sa mga developer ng Linux kernel, ang mga pagbabago sa kernel na may kaugnayan sa suporta sa ICC compiler ng Intel ay minimal lamang, at tila ang suporta sa ICC para sa mga kernel build ay kasalukuyang hindi aktibo nang walang anumang maliwanag na pag-aalala. Dahil tila walang nagmamalasakit o nakakapansin, ang panukalang ito ay mag-aalis ng suporta sa ICC mula sa mainline kernel at magpapalaya ng humigit-kumulang 300 linya ng code na kasalukuyang ginagamit para sa suporta sa ICC.

Si Linus Torvalds, ang lumikha ng kernel, ay tumugon pabor sa pag-abandona sa Intel ICC compiler:

“Sa tingin ko wala naman talagang gumamit ng ICC. Wala akong natatandaang nakarinig ng kahit isang salita tungkol sa mga problema ng ICC, at sa palagay ko ay hindi ito dahil napakahusay nitong tinularan ang GCC kaya walang nagkaroon ng anumang problema.

Ang ibang mga developer ng kernel ay nagsalita pabor sa pagbabagong ito. Gayundin, sa paglipat ng ICC compiler ng Intel mula sa lumang proprietary codebase nito tungo sa isang modelong nakabatay sa LLVM, ang bagong ICC compiler ay maaaring magtapos sa pag-compile ng kernel gamit ang mga Clang path.

Sa madaling salita, ang pangunahing header file ng Linux kernel para sa Intel compiler ay hindi nagagalaw sa loob ng tatlong taon, maraming developer/user ang nakakalimutan o hindi man lang alam ang suporta ng ICC para sa pagbuo ng kernel, at mayroong kahit isang halata at hindi nabagong problema na naiulat sa mga pagbuo ng ICC kernel.

Bukod pa rito, ang klasikong ICC compiler ng Intel ay napalitan na ng mas modernong API DPC++/C++ compiler na binuo sa LLVM. At simula noong Oktubre, wala pang nagpakita ng interes sa pag-compile ng pinakabagong kernel code gamit ang klasikong Intel compiler na ito.

Kaya't ang pagbagsak sa suporta ng Intel ICC ay hindi dapat isang tunay na kawalan. GCC at LLVM/Clang pa rin ang dalawang pangunahing compiler para sa pagbuo ng pangunahing Linux kernel.

Ang GCC ay matagal nang de facto na pagpipilian para sa pagbuo ng pangunahing linya ng kernel, habang sa mga nakaraang taon ang LLVM/Clang mainline ay napatunayang angkop para sa pagbuo ng Linux kernel at ginagamit sa iba't ibang build. Linux production kernel, gayundin sa port LLVM. /Clang sa iba't ibang mga tampok ng compiler nito. Samakatuwid, ang ICC compiler ng Intel ay nagretiro sa pagdating ng bersyon ng Linux kernel 6.3.

Panghuli, kung interesado kang matuto nang higit pa tungkol dito , makikita mo ang mga detalye sa sumusunod na link.


Idagdag bilang ginustong mapagkukunan sa Google