• Tidak ada hasil yang ditemukan

Design and optimization of L2 cache access algorithm in a GPU NoC

N/A
N/A
Protected

Academic year: 2024

Membagikan "Design and optimization of L2 cache access algorithm in a GPU NoC"

Copied!
20
0
0

Teks penuh

(1)

هدکشناد یسدنهم و ینف

یشزومآ هورگ قبر

ترویپماک و

دشرا یسانشراک هجرد تفایرد یارب همان نایاپ

یرامعم شیارگ رتویپماک یسدنهم هتشر رد س

متسی یرتویپماک یاه

هب ی هن زاس ی ور رب هکبش ی

چ ی پ ( فارگ هدنزادرپ دحاو ) NoC

ی ک ی

( سرتسد دوبهب ظاحل زا ، ) GPU

ی ( ود حطس ناهن هظفاح هب L2

cache )

رگشهوژپ :

یلیبدرا یرلگیب کمایس

امنهار داتسا :

ملاغ رتکد نیتف عراز اضر

رواشم داتسا :

رهم 98

(2)
(3)

ناونع و :روآدیدپ مان هب

ی هن زاس ی ور رب هکبش ی

چ ی پ ( دحاو )NoC فارگ هدنزادرپ ی

ک ی ( سرتسد دوبهب ظاحل زا ، )GPU ی

حطس ناهن هظفاح هب

L2 cache( ود )

/ یلیبدرا یرلگیب کمایس

داتسا امنهار : ملاغ رتکد

نیتف عراز اضر

خیرات :عافد 3

/ 7 / 98

دادعت حفص :تا 54

نایاپ هرامش :همان

سدنهم هورگ ی

پماک و قرب ی رتو / 1519198

:هدیکچ یکیفارگ هدنادرپ دحاو:فده

یارجا اب یزاوم هتشر نارازه ییلااب یراک یزاوم هب

رد س یم هظفاح حط هتنشر نیا .دسر

رونر هنب انه

هیارآ هتشر زا ییاه یم ارجا مه اب هک ییاه

هشوخ رد دنوش یم میسقت اه

هداد ینلحم عیزوت لیلد هب .دنوش هنشوخ رد انه

هنب زانین ناناتحا انه

هداد لحم یاه دوجوم ی هدنزادرپزیر ناهن هظفاح رد

یاه ینایرج (Streaming Multiprocessor, SM) رتنریب هنشوخ نی رد رواجم

یم یگژیو یا هب هجوت اب .دوش هداد هب یسرتسد داجیا

رد رواجم یاه هشوخ مه یاهSM

عیرس یرکاو ثعاب یا زانین دروم هداد رت

انهSM

و ود حطس ناهن هظفاح هب تبسن یمDRAM

هک یا هب هجوت اب ینچاه .دوش هداد

یاه یلاسرا نرنتنک تانس زا دایز مجح اب هدنننک

یانه

هظفاح (Memory Controler, MC) SM هب

اه یم ماجنا دوش عوضوم یا ندمآ دوجو هب ثعاب

دنچ یکیفارت یوگلا -

هنب - دننا - هنب -

هجیتنرد و دنچ خساپ هکبش رد هاگولگ

یم دوش هب تساوخرد ناسرا شهاک اب . نرتنک

هدننک هدرنک ادیپ شهاک خساپ هکبش یفارت هظفاح یاه

هداد و ریسم زا اه هتسه یبام ماحدزا مک یاه

یم ناسرا یا .دنوش

شور :شهوژپ یسانش نرتنک دحاو ی داجیا اب

هشوخ نورد ندوب یلحم هب هاگآ هدننک هشوخ رد یا

ینم انه ردآ ناونت هداد

نقف یانه

باث ناهن هظفاح یندناوخ ت

هرااش و هشوخ یاهSM

هطوبرم ار هگن درک یراد تسج اب ی حطس ناهن هظفاح نادقف نامز رد و

و نیا ونج

رد هداد ندوب دوجوم رور رد و تسیل هشوخ مهSM

هظفاح هب ناسرا یاج هب تساوخرد رگید یا هنب رتلااب حوطس یاه

روانجمSM

یم ناسرا هداد یاراد .دوش

هتفای یا رد:اه زا شهوژپ 15

رااچنب زا یراک راب CUDA SDK , ISPASS2009 یاه

RODINIA و ندم یبایزرا روظنم هب

.تسا هدش هدافتسا یداهنریپ هیبش

زاس هدایپ روظنم هب هدش هدافتسا رااچنب زا هدافتسا و یداهنریپ یرااعم یزاس

هیبش اه GPGPU- زاس

هیبش یا زا هدافتسا اب .تسا Sim باختنا و زاس

هکبش ریخات یگنایم :مهم یگژیو هس و ود حطس ناهن هظفاح هب یسرتسد یگنایم

تیاهنرد یگنایم لکیس دحاو رد هدش ماجنا اروتسد دادعت (IPC)

شهاک دهاش 5

/ 26

% ات رثکادح(

12 / 51

% هب یسرتسد ریخات یگنایم )

شهاک و هکبش 82

/ 16

% ات رثکادح(

03 / 46

% اهن هظفاح هب رتسد یگنایم ) شیازفا تیاهن رد و ود حطس ن

18 / 18

% ات رثکادح(

1 / 58

% )

اروتسد دادعت یگنایم هدش لکیس دحاو رد هدش ماجنا

.میا

هجیتن :یریگ داد نارن شهوژپ یا زا لراح جیاتن تسا

هظفاح نادقف عوقو نامز رد هک یا رب هولاع هدش هئارا یداهنریپ شور اب هک

زا هداد یرکاو و ی حطس ناهن هظفاح هب یسرتسد هظفاح زا رتعیرس رواجم یاهSM

یم قافتا رتلااب حوطس یاه هداد ینچاه دتفا

هب اه

نرتنک خساپ هکبش ماحدزارپ ریسم یاج هدننک

ریسم زا هظفاح یاه یاه

مک هتسه یبام ماحدزا یا

یکیفارت یوگلا هجیتنرد و هدش یرکاو

دنچ - هب - دنا - هب - دنچ یکیفارت یوگلا هب دنچ -

هب - یدبت دنچ ل هک هدش عوضوم یا هکبش یور رب رارف شهاک ثعاب

یور رب هشارت

(NoC) ود حطس ناهن هظفاح هب یسرتسد شهاک و او رد هدش ماجنا اروتسد دادعت تیاهن رد .تسا هدش

یکیفارگ هدنزادرپ لکیس دح

هاه .تسا هدرک ادیپ شیازفا هروظنم

هژاو :یدیلک یاه GPGPU, NoC, Memory Controler, GPGPU-sim, Instruction Per Cycle (IPC) , SM

(4)
(5)

1 فده و همدقم-

1-1 - همدقم

یکیفارگ هدنزادرپ دحاو

(GPU)

تکرش طسوت ادتبا هک

NVIDIA

لاس رد 1999 ارتخا ع نیرتریگارف ،دش هدنزادرپ

یریس زاین لیلد هب .تسا زورما هب ات یزاوم هبش یاه کیفارگ یارب ریذپان

یگدنز گنردلاب و )یعقاو( 1

هدنزادرپ ،2

یاه

هب یکیفارگ دحاو

یاه زادرپ یش ییاراک اب یب روانشزیمم

هقباس همانرب و تفای لماکت ریذپ ه

ا دن هدنزادرپ . یکیفارگ یاه

ظاحل زا یدایز دودح ات یزورما یزکرم یاه هدنزادرپ زا هظفاح دناب یانهپ و یتابساحم هدزاب

(CPU)

هتفر رتارف هک دنا

هدنزادرپ هب ار اهنآ هدیا یاه

همانرب هب نداد باتش روظنم هب یلآ یاه

ددعتم هداد - هدرک لیدبت یزاوم .تسا

هدنزادرپ یاه

یکیفارگ لکش(

1 - 1 )تسار اراد ی هتسه باسح یاهدحاو و اه رایسب قطنم و

رتشیب ی تبسن یزکرم یاه هدنزادرپ هب

لکش(

1 - 1 )پچ یم اذل .دنشاب هداد یارجا

یور رب یزاوم یاه هدنزادرپ

یاراد یکیفارگ یاه رتشیب هدزاب

ی هب تبسن

هدنزادرپ یم یزکرم یاه دشاب

.

لکش 1 - 1 - هتسه دادعت توافت یکیفارگ هدنزادرپ و یزکرم هدنزادرپ یشزادرپ یاه

[ 1 ]

افتسا یارب شلات یارجا روظنم هب یکیفارگ هدنزادرپ دحاو زا هد

همانرب لاس زا یکیفارگریغ یاه 2003

ماجنا لاح رد

1Life-Like

2Real-Time

(6)

2 هنیهب

یزاس ود حطس ناهن هظفاح هب یسرتسد شهاک و یکیفارگ هدنزادرپ دحاوNoC

.تسا یاه نابز زا هدافتسا اب هیاس

1یا دننام لااب حطس

DirectX

،

OpenGL

و متیروگلا ،CG

هداد یاه -

یددعتم یزاوم

هدنزادرپ هب ارجا روظنم هب هدش لقتنم یلیفارگ یاه

دننام یلئاسم .دنا هب

نیئتورپ نتخیمآ مه هنیزگ ،2

تمیق یاه یراذگ

3ماهس تساوخرد ، یاه

یزاسزاب و SQL

لباق ییاراک عیرست هب MRI

هجوت هدنزادرپ یور رب یا ادیپ تسد یکیفارگ یاه

هدرک .دنا شلات نیا هیلوا یاه

همانرب طبار زا هک همانرب یسیون

یکیفارگ یاه همه تابساحم یارجا روظنم هب 4

هروظنم

یم هدافتسا همانرب هب ،دندرک

5 یاه

GPGPU

.دندوب فورعم

همادا رد

NVIDIA

درک یفرعم ار مهم و هدمع یژولونکت ود کی یکیفارگ و یتابساحم یرامعم .

هچراپ و G80

تخس یرامعم مرن و یرازفا

یرازفا هب فورعم

CUDA6

هدنزادرپ هب هک یم ار ناکما نیا یکیفارگ

طسوت هک دهد

همانرب همانرب ینوگانوگ یلااب حطس یاه .دوش یسیون

زا هدافتسا زا یدیدج هویش یژولونکت ود نیا ،مه رانک رد

هدنزادرپ همانرب یاج هب .دنداد هئارا ار یکیفارگ یاه دحاو یسیون

هب یصاصتخا یکیفارگ یاه طبار هلیسو

یاه

همانرب همانرب یسیون همانرب ،یکیفارگ یاه

همانرب تسا رداق سیون نابز هب ییاه

همانرب اب C

یندوزفا یاه و هتشون CUDA

همه یزاوم میظع هدنزادرپ دهد رارق فده ار هروظنم

. همانرب دیدج هویش نیا هب ،یکیفارگ هدنزادرپ یسیون

"

بساحم ه اب

زا هدافتسا ارگ هدنزادرپ

"یکیف همانرب زا ینابیتشپ ییاناوت هک تسا هدش قلاطا 7

یاه نابز زا ینابیتشپ ،ددعتم یاه

همانرب همانرب ییادتبا لدم زا یلماک کیکفت و هدرتسگ یسیون هدنزادرپ یسیون

همه یکیفارگ یاه .دنراد ار هروظنم

[ 2 ]

1-2 - شیپ هنیمز

GPGPU

یا هتشر دنچ روتسد کت یرامعم اه یم راک هب ار8

هب اب و دنرب یزاوم یریگراک

رااک هتاشر حطاس رد ی

9یا

مه ثعاب یم هظفاح هب یسرتسد ریخات یناشوپ

هامانرب رثکا .دنوش یااه

GPGPU

د تاایلمع یداایز داداعت هاب یاسرتس

یم دیلوت هظفاح ار راشف هک دننک

تلااصتا و هکبش هظفاح متسیس یور رب یم شیازفا یلخاد

یور راب هایکت افراص .دهد

یزاوم ک هتشر حطس رد یرا یا

یمن لماک روط هب تاایلمع هاجیتن رد و داهد شاشوپ ار هاظفاح هب یسرتسد ریخات دناوت

یم یکیفارگ هدنزادرپ ییاراک یارب یدیدش هاگولگ هب لیدبت هظفاح رااک دنچره .دوش

ندراک هانیهب یاراب یاناوارف یااه

هک هکبش ریخات هب یرتمک دادعت یلو ،تسا هدش هئارا هظفاح متسیس ریخات رد ار یمهم شقن

هاظفاح هب یسرتسد یلک

یم افیا هدرک هراشا دنک دنا

[ . 3 ]

همانرب لدم یسیون

هدنزادرپ یراک هورگ کی یراذگراب لماش یکیفارگ یاه هب هظفاح زا10

یناایرج یااه هدنزادرپ زا11

قیرط هشارت یور رب هکبش و هظفاح هب یکیفارگ هدنزادرپ هکبش هتاشر دانچ روتاسد کت تروص هب یراکراب .تسا12

یا

یام هتاشون و هداش هداد تاشگزاب هاظفاح هب هکبش ود نیا قیرط زا سپس و هدش شزادرپ اایقم هاب یگتاسب .دواش

یراکراب

، 13

یم رارکت اررکم ،یراک هورگ شزادرپ لیمکت نامز ات لحارم نیا .دنوش

1Shading Language

2Protein Folding

3Stock Option Pricing

4Graphics APIs

5General Purpose Graphic Processing Unit

6Compute Unified Device Architecture

7GPU Computing

8SIMT, Single Instruction Multiple Thread

9TLP, Thread Level Parallelism

10Work Group

11SM, Streaming Multiprocessor

12NoC, Network on Chip

13Workload

(7)

فده و همدقم

3

شیازفا راظتنا هب هجوتاب یاه لسن هئارا اب اه SM

هدانزادرپ دایدج هاعومجم هزادانا شیازافا و یاکیفارگ یااه

،هداد

داناب یاانهپ شیازافا .میتاسه اهارجا زا لدم نیا زا ینابیتشپ روظنم هب هشارت یور رب هکبش دناب یانهپ شیازفا دنمزاین رد شوااک دانمزاین نیارباانب ،داش دهوخ هنیزه شیازفا نینچمه و ایوپ و اتسیا یفرصم ناوت شیازفا ثعاب اراط

ییااه

.دنتسه هنیهب هنیزه و ناوت ظاحل زا هک میتسه

1-3 - نایاپ فادها همان

هب اب همانرب لدم یریگراک هتسد یزاوم یسیون

یا - نامزمه دحاو ،1

زادرپ یاه دن

هامه یکیفارگ ه داداعت لاوامعم هرواظنم

کولب هتشر زا یدایز مهب و هدرک ارجا ار لقتسم یاه

تخس ناهن هظفاح یگتسویپ یرازفا

یامن ینابیتشپ ار دانک

لاصاح .

رصحنم یکیفارت یوگلا یگژیو نیا هب

دنچ مان هب یدرف -

هب - کدنا - هب -

2دنچ هب ،تسا نیبام افرص طابترا هک یروط اهSM

لرتنک و هدننک هظفاح یاه هدنزادرپ رد هشارت یور رب هکبش .دراد دوجو3

همه یکیفارگ یاه هکباش لماش لاومعم هروظنم

روظنم هب تساوخرد هتسب لاسرا

هتسه زا نتشون و ندناوخ تساوخرد یاه هدننک لرتنک هب اه

خساپ هکبش و هظفاح یاه

هتسب لاسرا روظنم هب .تسا سکع تهج رد نتشون و ندناوخ هب خساپ یاه

کدنا کیفارت -

هاب - لراتنک زا یلااسرا دانچ

هدننک هتسه هب هظفاح یاه یم خساپ هکبش رد یدیدش ماحدزا داجیا ثعاب اه

دوش . ثاعاب هکباش رد هاگولگ نیا تیاهنرد

یم هظفاح هب یسرتسد ریخات شیازفا نایز ریثات و دوش

.دراد هدنزادرپ ییاراک یور رب یروآ ناایاپ نایا رد اام فده

هامان

هجیتن رد و ود حطس ناهن هظفاح هب یسرتسد شهاک هدننک لرتنک زا یلاسرا کیفارت شهاک

هاب هاظفاح یااه ااهSM

تسا رت شهاک ثعاب هک خساپ هکبش هاگولگ رد کیفا

هدش هک رد هجیتن بجوم هاظفاح هاب یسرتسد ریخات شهاک یام

و دوش تیاهن رد ثعاب

یکیفارگ هدنزادرپ ییاراک دوبهب یم

.دوش

1-4 - نایاپ شراگن راتخاس همان

نایاپ نیا رد همان

6 هدانزادرپ هایلوا میهاافم هب مود لصف رد .تسا هدش میظنت لصف یاکیفارگ یااه

هامه و هرواظنم

همادا رد و هدش هتخادرپ اهنآ یرامعم هدانزادرپ یور راب هداش ماجنا یاه شهوژپ هنیشیپ

هامه یاکیفارگ یااه هرواظنم

راتخاس و هدش هداد هئارا هدیا حیرشت هب موس لصف رد .تسا هدش یفرعم رد و تاسا هداش هاتخادرپ یداهنشیپ یرامعم

هیبش جیاتن مراهچ لصف مرن رد یزاس

رازفا

GPGPU-Sim

هجیتن مجنپ لصف رد .تسا هدش هدروآ هائارا نینچمه و یریگ

مشچ داهنشیپ و زادنا راک یارب ییاه

.تسا هدش نایب هدنیآ یاه

1BSP, Bulk Synchronous Parallel

2Many-To-Few-To-Many

3MC, Memory Controller

(8)
(9)

2 - نابم ی پ و ی ش ی هن قحت ی ق

2-1 - همدقم

هدنزادرپ هیلوا میهافم حیرشت لصف نیا فده یرامعم و یکیفارگ یاه

نآ اه

، ،هدش ماجنا تاعلاطم و هچخیرات

هدنزادرپ یور رب هک یتاقیقحت اه

یکیفارگ ی صوصخ هب

رد شزادرپ هنیمز همه یاه

هروظنم

(GPGPU)

هدش ماجنا -یم

دشاب .

یریس یاضاقت هب هجوت اب کیفارگ یارب رازاب ریذپان

هس یاه یاکیفارگ هدانزادرپ داحاو ،یاعقاو و لااب تایئزج اب یدعب

همانرب ریذپ ، هتسه دنچ هدنزادرپ کی هب لیدبت دنچ یا

هتشر یا اساحم میظع ناوت اب هارمه یزاوم تدش هب یاانهپ و یتاب

هدش دایز رایسب هظفاح دناب هک

لکش رد 2

- 1 لکش و 2 - 2 هداد نااشن یزاکرم هدانزادرپ دحاو اب اه هدنزادرپ نیا توافت

.تسا هدش

لکش 2 - 1 - یکیفارگ هدنزادرپ و یزکرم هدنزادرپ روانش زیمم تابساحم ماجنا توافت رادومن [

4 ]

(10)

6 هنیهب

یزاس ود حطس ناهن هظفاح هب یسرتسد شهاک و یکیفارگ هدنزادرپ دحاوNoC

لکش 2 - 2 - ناشن رادومن یانهپ رثکادح هدنهد

یکیفارگ هدنزادرپ و یزکرم هدنزادرپ لاکیروئت دناب [

4 ]

دحاو هک تسا نیا یکیفارگ هدنزادرپ دحاو و یزکرم هدنزادرپ دحاو نیبام روانش زیمم ییاناوت رد توافت دوجو لیلد

یلصا فیاظو هب هجوت اب یکیفارگ هدنزادرپ دوخ

رااک لاابق رد هاک تداش ااب تاباساحم مااجنا رد ،دراد یاکیفارگ یااه

ب و لااب رایسب یتابساحم زا یداایز دادعت هک تسا هدش یحارط یلکش هب نیاربانب و دراد یرایسب صصخت ،یزاوم تدش ه

هداد شزادرپ فقو اه روتسیزنارت یم

دنشاب لکاش رد کیتاماش ترواص هاب هاک نآ نایرج لرتنک و هداد هریخذ ات 2

- 3

هدروآ .تسا هدش

لکش 2 - 3 - ناشن یکیفارگ هدنزادرپ و یزکرم هدنزادرپ هب هدش هداد صاصتخا عبانم هوحن هدنهد [

4 ]

(11)

هب لکش قیقد رت

، یکیفارگ هدنزادرپ دحاو یم هک یلئاسم یارب

هداد تاباساحم لکش هب دنناوت ، دنواش ناایب یزاوام-

یم بسانم رایسب ساحم تایلمع خرن( یتابساحم تدش یاراد هک یلئاسم یارب صوصخب دشاب

)هاظفاح تاایلمع هاب یتاب

.دنتسه لااب یام اراجا هداد زا رصنع ره یارب یناسکی همانرب هک نیا لیلد هب

ناایرج لراتنک یاراب یراتمک زااین ،دواش

یم ارجا یرایسب هداد رصانع یور رب همانرب نیا هک نیا لیلد هب و دراد دوجو هدیچیپ دوش

لاااب یتابساحم تدش یاراد و

یم ،تسا ریخات ناوت

نیانچ زا هدافتاسا ااب هامادا رد .داد شهااک هداد هرایخذ یاج هب تابساحم اب ار هظفاح یسرتسد

هدنزادرپ یگژیو

،یکیفارگ یاه

یزاوم هداد شزادرپ زا هدافتسا اب متیروگلا زا یرایسب رد

شزادرپ هنیمز زا جراخ یاه یاه

،یکیفارگ زا

هیبش و یمومع لانگیس شزادرپ تابساحم ات کیزیف یزاس

تاسیز تاباساحم و یلام هداد عیراست یاسانش

هدش .دنا

2-2 - همانرب لدم یسیون

لاس رد ادتباCUDA

2006 طسوت

NVIDIA

هامانرب یرامعم کی .دش یفرعم هامه یزاوام یاسیون

زا هاک هرواظنم

هدنزادرپ یزاوم تابساحم یاهروتوم یاکیفارگ یاه

NVIDIA

لکاش هاب هدایچیپ یتاباساحم لئااسم لاح رواظنم هاب

ترثوم یام هدافتسا یزکرم هدنزادرپ دحاو هب تبسن یر دانک

،یافرعم ناامز رد . هامانرب ناابز زا ااهنتCUDA

یاسیون

C

یم ینابیتشپ نوانکا .درک

ناابز زاCUDA

هامانرب یااه یاسیون

FORTRAN

،

C++

، ،JAVA Python

ینابیتاشپ ... و

یم .دنک

همانرب لدم یسیون

هسCUDA

موهفم هلسلس یدیلک هورگ بتارم

هتشر یاه هظفاح ،اه

مااگمه و یکارتشا یاه یزااس

عناوم یم اراد ار19

نیا .دشاب میهافم

هنوزفا ناونع هب نابز یاه

همانرب یاه همانرب رتسد رد یسیون

سیون [.دنراد رارق اه 5

]

هب لکش قیقد رت مرن یرامعم کیCUDA

یرازفا تخس و هدنادرپ هب هک تسا یرازفا یکیفارگ یاه

NVIDIA

تیلباق

همانرب یارجا ناابز هاب هداش هتاشون یاه

یااه ،C

،C++

Fortran

،

OpenCL

،

Direct Compute

ناابز و ار راگید یااه

یم .دهد

همانرب کی هتسهCUDA

یکیفارگ هدنزادرپ یور رب همانرب ییارجا یاه یم یناوخارف یزاوم تروص هب ار 20

هوحن .دنک

کی یارجا

Kernel

رسارس رد یزاوم تروص هب هعومجم

هتشر زا یا هامانرب .تسا یزاوم یاه

نایا رلیااپماک اای و سیوان

هتشر اه لکش دننام ار 2

- 4 کولب رد هتشر زا ییاه هکبش رد و اه

کولب نیا زا ییاه

21ااه یام یهدنامزااس هدانزادرپ .دانک

همانرب کی یکیفارگ

Kernel

هکبش لکش هب ار هتشر کولب زا یا

یم ناشن اه کوالب لاخاد هتاشر راه .دهد

هانومن ، زا یا

Kernel

ارجا ار یم یاراد و دنک تابث ،همانرب هدنرامش ، کولب لخاد هتشر هسانش

هتشر ره یازا هب یصاصتخا هظفاح ،اه

.تسا یجورخ و یدورو جیاتن و

19Barrier Synchronization

20Kernel

21Grid

(12)

8 هنیهب

یزاس ود حطس ناهن هظفاح هب یسرتسد شهاک و یکیفارگ هدنزادرپ دحاوNoC

لکش 2 - 4 - هداد تشاگن اوحن هلسلس رد اه

درپ هظفاح بتارم یکیفارگ هدنزا

[ 6 ]

" کی هتشر کولب

"

هتشر زا یا هتسد مه تروص هب ارجا تیلباق هک تسا ییاه

نامز هاظفاح هلیاسو هاب هاک دانراد ار

ماگمه و یکارتشا یم عناوم یزاس

دوخ کولب هکبش لخاد رد کولب هسانش یاراد کولب ره .دنشاب طابترا رد مه اب دنناوت

کی .تسا هیارآ Grid

شر کولب زا یا هت

هک تسا ییاه

Kernel

یم ارجا ار یناسکی دنک

هک یدورو نداناوخ هاظفاح زا ااه

ماگمه و یرسارس هظفاح رد جیاتن نتشون ،یرسارس یناوخارف نیبام یزاس

یاه

Kernel

مااجنا ار ماه هاب هتاسباو یااه

یم دهد . همانرب شور رد یزاوم یسیون

،CUDA

لکاش هاب هاجوت اب 4

- 2 هاظفاح یاراد هتاشر راه لااقتنا یاراب یاصاصتخا

تابث تایوتحم یناوخارف ،22

عباوت یاه ریغتم و

هیارآ یاه کیتاموتوا یا

.تاساC

هاب یکارتاشا هاظفاح یاراد کوالب راه

هدافتسا روظنم تاطابترا رد

هتشر لخاد متیروگلا رد جیاتن کارتشا و هداد کارتشا ،یا

تایاهن رد .تسا یزاوم یاه

Grid

ماگمه زا دعب اه سارس یزاس

حطس رد یر

Kernel

یم کارتشا هب یرسارس هظفاح یاضف رد ار جیاتن ، .دنراذگ

2-3 - رجا تخس یا یرازفا

هتشر بتارم هلسلس هب اه

هب ارجا روظنم بتارم هلسلس

هدنزادرپ یام تاشاگن یکیفارگ هدنزادرپ لخاد یاه دنواش

. هاب

22Register Spills

(13)

لکش دننام 2

- 5 یکیفارگ هدنزادرپ هک تروص نیا هب دنچ ای کی

کی زاGrid Kernel

یم ارجا ار کای و دنک

کای ،SM

هتشر زا کولب دنچ ای هتسه و ار اه

یاه دحاو رگید وCUDA

لخاد ییارجا یاه هتشر ،SM

یم ارجا ار اه کی .دننک

SM

هتشر هتسد رد ار ییاه یاه

32 نامسیر مسا هب ییات یم ارجا ار23

.دننک

لکش 2 - 5 - هداد تشاگن هوحن هلسلس هب اه

بتارم دحاو یشزادرپ یاه

24

2-4 - هظفاح متسیس

هدنزادرپ یکیفارگ یاه لکش دننام

2 - 6 هظفاح یاضف عون ود لماش ابلاغ تاابث ماه زا ادج

هاظفاح و ااه .دنتاسه ااه

هدنزادرپ یام میسقت یرسارس و یلحم هظفاح یاضف هب ار هظفاح یقظنم تروص هب یزورما یکیفارگ یاه یااضف .داننک

ره یازا هب یلحم هظفاح ابلاغ و تسا یصاصتخا تروص هب هتشر

یناکم ناونع هب ااه تاابث تاایوتحم یراداهگن یاراب

یم هدافتسا ،دوش

رد یلاح هک زا یرسارس هظفاح روظنم هب

هداد یاهراتخاس کارتاشا هاب هتاشر نیدنچ نایم رد هک یا

هدش هتشاذگ یم هدافتسا دنا

هدنزادرپ ، هولاع هب .دوش لاومعم یزورما یکیفارگ یاه

کرچ هظفاح کی هدش تیریدم سیون

همانرب هلیسو هب هتشر نیبام یکارتشا یسرتسد هارمه هب سیون

هک ییاه یم ارجا مه اب

25دنوش هدایپ ار یام یزااس .داننک

زا یکی لیلاد همانرب زا یرایسب رد هک تسا نیا یکارتشا ردا یاضف زا ندرک هدافتسا اه

همانرب هداد زا سیوان رد هاک یا

یعم لحارم شزادرپ رد ن

،دراد یسرتسد هب زاین یم علطم

دشاب هداد نیا مامت یراذگراب اب نیاربانب ، هاظفاح لاخاد هاب اه

،اجکی تروص هب یکارتشا یم

تاایلمع هاک یناامز و دراک ینااشوپمه ار هشارت زا جراخ هب ینلاوط یسرتسد ریخات ناوت

ت اب یسرتسد زا تسا ماجنا لاح رد هداد نیا یور رب یتابساحم ماهم .درک یریگشیپ هظفاح هب ینلاوط ریخا

هامه زا رات

تیاب دادعت تبسن یم هک ییاه

دنواش هداد لااقتنا ناامز دحاو رد هشارت زا جراخ هظفاح و یکیفارگ هدنزادرپ نیبام دنناوت

دناب یانهپ(

)DRAM

لمعلاروتسد دادعت تبسن هب یم هک ییاه

.تاسا مک رایسب دنوش ارجا نامز دحاو رد دنناوت هولااع

هدنزادرپ و هشارت زا جراخ هظفاح نیبام هداد لاقتنا روظنم هب هدش هدافتسا یژرنا نیا رب زا رتاشیب رایاسب ،یاکیفارگ یاه

شیازافا ثاعاب شارات لاخاد هظفاح هداد هب یسرتسد نیاربانب .تسا هشارت لخاد هداد هب یسرتسد یارب یفرصم یژرنا

23Warp

24 https://en.wikipedia.org/wiki/Thread_block_(CUDA_programming)

25CTA, Cooperative Thread Array

(14)

10 هنیهب

یزاس ود حطس ناهن هظفاح هب یسرتسد شهاک و یکیفارگ هدنزادرپ دحاوNoC

یم یژرنا هریخذ و ییاراک .ددرگ

[ 7 ]

لکش 2 - 6 - هظفاح تایئزج اب هدش لدم یکیفارگ هدنزادرپ ناهن یاه

26

2-5 - تخس رب یرورم یرامعم و رازفا

Fermi

یکیفارگ هدنزادرپ نیلوا لکش قباطم

2 - 8 یرامعم اب

Fermi

اات و روتاسیزنارت دراایلیم هاس اب 512

هتاسه

CUDA

هدایپ .دش یزاس

هتسه ره اراجا هتاشر راه یازا هاب یاکیفارگ هدنزادرپ لکیس ره رد ار حیحص ای و روانش زیمم روتسد کیCUDA

یم دنک . 512 هتسه رد CUDA

16 لماش مادکره هکSM

32 هتسه هدش هتفرگ رارق ،دنتسهCUDA

قبااطم هاک دانا

لکش 2 - 8 نیا مامت 16

هتفرگ رارق ود حطس ناهن کرتشم هظفاح لوح SM

راه هاک دانا لمااشSM

یجنراان تماسق

یدنبنامز دحاو زا لکشتم لاسرا دحاو و27

داحاو زا لکاشتم گنر زبس تمسق و28

گانر یابآ تماسق و یایارجا یااه

زا لکشتم تابث

دحاو نینچمه .تسا اه

GigaThread

ره هب اه کولب ندرک یدنبنامز لوئسم .تساSM

2-5-1-512 هتسه

لااب ییاراک ابCUDA

ره یارادSM

32 هتسه هدنزادرپ ره .تساCUDA

حیحص یددع دحاو یارادCUDA

و باسح قاطنم

داحاو و29

روانشزیمم دادعا طخ لکش هب هک تسا30

31هلول لماک هتاشر دانچ هدانزادرپ کای هبااشم یا

داننامSIMD

لکاش 2 - 7

هدایپ .تسا هدش یزاس

26 http://gpgpu-sim.org/manual/index.php/Main_Page

27Schedule Unit

28Dispatch Unit

29ALU, Aritmatic Logic Unit

30FPU, Floating Point Unit

31Pipline

(15)

لکش 2 - 7 - یلخاد یرامعم زا یلک یامن هدنزادرپ

هتشر دنچ یاه یا

[SIMD

6 ]

لکش قباطم 2

- 7 هتسه ره تابث یارادCUDA

و بااسح یااه داحاو و یاصاصتخا هاظفاح و دوخ صوصخم یاه

یرامعم .تسا هریخذ و یبایزاب و قطنم

Fermi

زا روانش زیمم دیدج درادناتسا

IEEE 754-2008

یام هدافتسا دانک

هاک

عمج لمعلاروتسد -

یبیکرت برض

)32

FMA

ود تقد تابساحم ودره یارب ار (

( ربارب د فعاضم تق

33 ) یتقد کت و هاب34

یم راک .درب برض تایلمعFMA

- یم ارجا هلحرم کی رد هک تسا روانش زیمم دادعا عمج دوش

. برض لمعلاروتسدFMA

- عامج

هاب عامج تایلمع رد تقد نداد تسد زا نودب و ندرک درگ هلحرم کی اب هارمه عمج و برض لمع یارجا هلیسو هب ار یم تسد .دروآ

یراامعم رد .دراد هاناگادج تروص هب تایلمع یارجا هب تبسن یرتشیب تقد FMA

لاسن زا هاکG200

یرامعم

Tesla

لبق و یرامعم زا رت تاقد هب برض تایلمع رد حیحص ددع قطنم و باسح دحاو ،تسا Femi

24 یاتیب

حیحص دادعا تابساحم روظنم هب یلمعلاروتسد دنچ یلاوت دنمزاین هجیتن رد هک تسا دودحم .تسا

32FMA, Fused Multiply-Add

33Double Precision

34Single Precision

(16)

12 هنیهب

یزاس ود حطس ناهن هظفاح هب یسرتسد شهاک و یکیفارگ هدنزادرپ دحاوNoC

لکش 2 - 8 - تخس هشقن یکیفارگ هدنزادرپ نیلوا یرازفا

Fermi

هشارت یور رب هدش یحارط [

2 ]

یرامعم رد

Fermi

حیحص دادعا قطنم و باسح دحاو

، لماک تقد زا 32

ینابیتاشپ اه لمعلاروتسد مامت یارب یتیب

یم همانرب نابز تامازلا اب هک دنک درادناتسا یسیون

نیانچمه .تسا راگزاس یاراب حیحاص داداعا قاطنم و بااسح داحاو

تایلمع زا دمآراک ینابیتشپ 64

هعسوت تقد و یتیب هدش هنیهب هتفای

.دنا روطنیمه هالمج زا یدداعتم یااه لمعلاروتسد

یلوب تایلمع هباج ،تفیش ،35

... و لیدبت ،هسیاقم ،ییاج یم ینابیتشپ ار

.دنک

2 - 5 - 2 - صاخ عباوت دحاو راهچ

36

ره لکش قبطSM

2 - اراد9

ی 16 خذ دحاو ی هر زاب و ی با ی س ره رد هک ی

لک اناوت یی هبساحم 16 دصقم و ادبم ردآ

لمعلاروتسد هک صاخ عباوت دحاو راهچ .دنراد ار اه

ی غ ی ربجر ی دننام ،Sin Cosin

رسک عباوت ، ی

م ارجا ار رذج و ی

دننک .

ه رد هتشر ره یازا هب ار لمعلاروتسد کی صاخ عباوت دحاو ره یام اراجا کلاک لکیس ر

رد ناماسیر کای هاک دانک 8

یم ارجا کلاک صاخ عباوت دحاو هلول طخ .دوش

ادج دحاو زا لاسرا یم لاسرا دحاو هب ار هزاجا نیا هک تسا37

هاک داهد

لمعلاروتسد ،تسا لوغشم صاخ عباوت دحاو هک ینامز رد .دنک لاسرا ییارجا یاهدحاو ریاس هب زین ار رگید یاه

35Boolean

36SFU, Special Function Unit

37Dispatch Unit

(17)
(18)

Title and Author: Design and optimization of L2 cache access algorithm in a GPU NoC/ Siamak Biglari Ardabili

Supervisor: Dr. Golamreza Zare Fatin Graduation date: 2019.09.25

Number of pages: 54 Abstract

Research Aim: Graphic processing unit (GPUs) reaches high memory level parallelisms by executing hundreds of parallel thread. These threads group in a cooperative thread array and executes in Streaming Multiprocessor (SM) clusters. These CTAs schedules locally in clusters therefore there is a high chance in finding the same copy of data that needed by one SM in other SMs L1 cache in same cluster. Considering this feature, gaining access to neighboring SMs local L1 Cache in same cluster can make it possible for SMs to fetch and access their missed L1 data using other SMs L1 instead of fetching the requested data from L2 or DRAM. Also we face heavy congestion in NoC due to unique traffic pattern called many-to-few-to-many resulting from massive replying data travels from few memory controllers (MC) to many SMs. With reduced number of requests that caused by sending memory requests to neighboring SM instead of memory hierarchy, heavily congested replying network traffic changes to many-to-many traffic pattern and replying data sends through the less utilized core to core communication that mitigates the NoC traffic.

Research method: Using an intra-cluster Locality-aware(IC-LA) unit we are able to hold the constant cache block address and the corresponding SM id. When L1 MISS happens, instead of sending the request to memory hierarchy, the request will search the IC-LA list and if the requesting data HIT in neighboring SM, the IC-LA sends the request to the SM that have the data and fetch the data from local L1 cache.

Findings: In this study we use 15 workloads from 3 CUDA SDK, RODINIA and ISPASS2009 benchmarks to evaluate the proposed architecture. We model the proposed IC-LA unit in the GPGPU- sim simulator. Using GPGPU-Sim and choosing three important feature: network latency, L2 cache access and instruction per cycle (IPC) shows 26.5% (Up to 51.12%) reduction in average network latency, 16.82% (Up to 46.03%) reduction in average L2 cache access and finally 18.18% (Up to 58.1%) IPC improvement.

Conclusion: The result of this study showed that in the proposed method when L1 cache miss accrues, in addition to fetching the requested data faster than the L2 or DRAM, also the data replies instead of using the congested memory controllers reply network, travels through the less utilized core to core communication therefor mitigating the many-to-few-to-many traffic pattern to many-to-many traffic pattern and reduces the NoC pressure and improve the gpgpu performance.

Keywords: GPGPU, NoC, Memory Controler, GPGPU-sim, Instruction Per Cycle (IPC) , SM

(19)
(20)

University of Mohaghegh Ardabili Faculty of Engineering

Department of computer & electronic

Thesis submitted in partial fulfillment for the degree of M.Sc. in Computer engineering, computer architecture trends

Design and optimization of L2 cache access algorithm in a GPU NoC

By:

Siamak Biglari Ardabili

Supervisor:

Dr.Gholamreza Zare Fatin

Advisor:

Sep 2019

Referensi

Dokumen terkait