© Distribution of this video is restricted by its owner
Transcript ×
Auto highlight
Font-size
00:00 for adults I guess. Just start matter. So. Okay. And

00:10 the minute performance engineer. So today tomorrow tomorrow thirsty. We'll talk about

00:17 couple of tools more insight to what's on with your code. So

00:25 the first thing we got to do the past wants to get familiar with

00:29 resource manager and materials clusters and you . No. So which is good

00:34 debugging and batch modes for running your funds more analysis. You don't want

00:40 do that. Interactive belong to submit . I haven't run subscript that you

00:47 . And the second thing that it , well I do were inspired by

00:54 couple of three toes and it's very used to try to captain assess at

01:02 high level, so to speak for to have it processor works focus just

01:08 saying that the performance justice sequential program to understand the basics of systems.

01:16 understand the basics of systems. I that the memory hierarchy is important.

01:23 that's why I talk a little bit processor architecture. I love them in

01:27 of data passed and memory hurricane cash and a little bit about the instructions

01:34 some more details. So today I'll a little bit first about preamble to

01:44 these tools and this particular to body kind of focused on processor behavior for

01:52 code and then uh stop and get you have some time to have a

02:01 of the party too. And all . So and as a preamble come

02:11 . Yeah. Okay. So so this is pretty much and talk

02:20 this is something and get onto the and so we start some of the

02:29 marking. Just look at the single . So the first thing to understand

02:34 column and not to dive into the complex situation will start with something that's

02:39 thing single cloud and then once we to talk a little bit about how

02:44 All right folks for of the single or notes using open empty and then

02:53 can get to talk about note performance then it just for conflicts and then

02:58 that yet another lap. Obama get integrate the processes and the former

03:05 Um, so something that is important you try to then figure out both

03:13 terms of debugging the code as well practice or performance is to pay attention

03:21 what data you're using. So in beginning here we use very simple things

03:25 can read up on all of us terms of the screen and gaps justifying

03:30 simple button, general code. It not be so easy to decide what

03:34 do for what. Um, we'll back to times and later on towards

03:44 end for the last month you're supposed do the projects and one of the

03:47 that almost asking to do to figure how you're going to verify correct as

03:53 as behavior of the talents and that back to again think about how you're

03:58 to verify or demonstrate that things works it and works well. So here's

04:05 one thing obviously that and I stressed too and I talked about timers that

04:12 need to make sure that and there's data for the code to work on

04:19 resolution of the timer doesn't get in wide serious measures, basically random events

04:24 supposed what do your covenant? So needs to have enough work to do

04:28 that at the time actually give you information and the other thing is obvious

04:33 still it's easy to forget that on , you know the benchmarks it did

04:41 me start by and streaming up several in so There's just kind of one

04:47 but for a cold there's multiple branches you need to figure out the data

04:53 to use that is really all the will protect you know what at the

04:58 . So you may have different data or that causes the code to go

05:04 all the branches and then depending on for after you need that tools,

05:12 talk a little bit about the tools talking points you tell you about.

05:17 the different tools, there are fairly tools um and they have kind of

05:25 steep learning curve so we don't use most complex to limit. Would you

05:29 a comprehensive tool? I'll talk about next time. Um so many of

05:34 tools that focus on particular aspects some of them have focused on

05:39 Somebody kind of more of the whole hierarchy, some does causes from memory

05:46 another some more focused on. So you have a cluster on an african

05:50 traffic destination or so network or communication cost. So there's a whole school

05:58 tools to look at and figure out ones are the most disruptive for the

06:03 test, how long to do and yes, so on. And then

06:09 course one needs instrument to go and talk a little about that predictive

06:16 Uh, and then once you have all set up to the dictatorship and

06:20 and is instrumental to run it. both figure out what went on.

06:27 we'll find something that is dominating your and we're focusing on instead of everything

06:35 called for the producer. So you're you can focus your efforts to improve

06:41 and that you're kind of a Yeah, that's fairly basic and

06:47 Um such uh remarkable not is good remember. He said he gets

06:55 Yes, at least construction assignments or but maybe not be allowed more focused

07:01 more time anyway, so there's kind three things that you need to uh

07:07 attention to. One lead to understand the application is doing. Um,

07:14 you have some expectations and some I think one is particular to figure

07:22 where it might be in memory of . It's limited application or if it's

07:28 complete founder position. And we talked this aromatic intensity as the one with

07:36 of getting good idea of whether it's lot of computing relative to the data

07:42 or not. And I would also this. So of course if you

07:49 something as simple as make it off point, you can just use,

07:56 know what the algorithm is, you goodness the dupes. And so it's

08:00 to even by hand and I figure what the workload is from some number

08:06 operations and you know that the matrices size they are. So it's very

08:12 with us and the tools to figure just to, you know what the

08:18 intensity is in that particular case general all. It's not so easy.

08:25 cool in many applications that maybe even of thousands of lines of code and

08:31 no way of eyeballing and speaking of goes on. So then we do

08:35 to to figure out measure these properties how much character is how much

08:44 Oh, so um you know, things that oh yeah, certain.

08:53 when you request these sources, secondly to understand. And so when you

09:04 so this is particularly relevant later on the costumes because you need to decide

09:10 many hills to a want and one is figure out if you can fit

09:18 the data inside the clusters of them on a disappointing note. Since memory

09:25 from the for no basis. So huh The more notes and more memory

09:30 have access to without going to these . So sometimes that's a government rule

09:38 decides how many holes you want and to escape the problem cost. But

09:43 times it may be more constant than bandwidth and then also memory around it

09:49 the cluster is related to a number those. Sometimes that might be more

09:55 to get enough bandits. So even you don't use that much, I

10:00 you still want many notes in order get nobody. These are thanks to

10:11 and I think we'll talk more about of these things and this again I

10:16 stressed already. That's the reason why processor architecture understand your system because again

10:24 get a good resource utilization, a performance, it's a match between your

10:29 and resistance. The need to understand attention and in each other and resistant

10:35 figure out what's achievable. And we talked about thank all of these

10:41 Right. Um so this is just example. Again, the reason why

10:47 talked about examples in particular. Your data both for the skies.

10:53 bridges to process no memories. now those two are not the only

11:01 then there is actually what the code and that means sometimes you need to

11:10 out what the computer does called and it's because the computer was to take

11:19 that is agnostic to the particular You wanna, they usually don't write

11:24 code for specific processor and so sexy channel your favorite language and this is

11:32 complete linguist and the computer trying to out that the restructuring report so you

11:37 use the particular process. So that's the competitors knows what the particular

11:44 So usually you have to comply with the platform prevent to use because under

11:49 to release the information about the architecture as we put. So that's the

11:57 part and also needs, yeah, a little bit about the younger is

12:02 . I haven't won that our providers what they do and uh, potentially

12:08 the source code compile them. They any chance to doing the organizations that

12:13 supposed to be uh huh mm And , it's another part in terms of

12:25 the nature of the workshop earlier shows one part rarely want to do things

12:34 say the full blown dataset introduced for because it takes too long time to

12:40 and it may not be necessary to out too much to go. And

12:45 also generates a ton of data so overwhelmed will not be able to see

12:50 going on On the other hand, I mentioned before, you need enough

12:55 be able to get to help statistics or pattern of what actually goes

13:04 . Um mrs Disappoint. Just the are not optimizers that does everything for

13:14 . So it's actually so you think and then pretty much it's up to

13:19 to figure out how to do some to get a better football. So

13:27 so I guess I should say at bottom on that. So there there

13:31 all the tuning packages out there in for linear type stuff like operations.

13:39 are passages tried to find the best structure for the deserts across. Most

13:48 them are that are available out President. So they've already made exhaustive

13:58 so they can take a lot longer it takes along the cover participants.

14:05 we'll talk more about those two So there are the point that there

14:09 tools, types of the organizations for . But Uh huh. Most of

14:16 a fairly even takes a lot of not that so something of modesty complex

14:22 may work. Okay. Something more . People probably better off trying to

14:29 it out yourself certain things to. Alright, china more focused on this

14:39 tool. But the topic for So that's part of it.

14:48 in some sense the memory heretic consistent the top. In this case it's

14:53 registers and then caches. Song. guess I should have been another box

14:58 substantial process of logic that is also . So this property tools stands for

15:07 happy simply. Um so that's what has. Is that the functions routines

15:15 to Hong kong and they access various that the problems process of designers put

15:29 the CPU's uh since the process of they have an interest to figure out

15:35 goes on in order to make this the process of us they can't so

15:39 there, they don't give access to the radio says they do have

15:45 I think you have access to quite lot of registers that allows you to

15:50 information about various aspects of article is in particular processor. So that's where

15:59 is and the cover is very much logic um down to the local memory

16:07 time it has extended a little bit but that's kind of really work.

16:12 are um and the next time we about this town tool that is more

16:21 and it makes you so pocket for processor focused data collection. And then

16:29 also uses other tools that are not course but cover town town as also

16:39 lot of functions for analysis of the that's being generated. So it's a

16:43 nice comprehensive too both town and party I get all the tools here on

16:49 right are open source. So those things you can download that access with

16:55 kind of paying money and so I it's also latino and there are very

17:02 tools but attempt to be specific to particular processors and sometimes someone expected really

17:13 . So mhm for addressing and of of using the open source tools and

17:19 are very good popular was pretty much first food to even the processor features

17:29 and record. Change them, a of tools and so I got kids

17:33 it and younger tools many times started copy and then they don't know

17:39 Mhm. So okay, so I yes, there are more than a

17:51 already the simplest things show you there's all kinds of work for the

18:00 controls like public Oh, I guess couple of things before then. Chemical

18:10 profit. So the tools depending what using and that's a good thing to

18:19 aware of that. There are more less intrusive the time to so let's

18:26 . You mentioned the partners and the sometimes in search of cold statements.

18:33 that means you don't don't exactly the code that do you actually want to

18:39 the information about. So that's one to be aware of the phone,

18:44 the instrumentation is done. That changed code to some degree that also checks

18:50 performance, whatever information you can ask tools and uh that's pretty so the

19:06 examples here are so the high level aspects of the tools is that some

19:12 them do what some hispanic in So basically if it's instruments, the

19:17 at compile time and then it runs you get the information out. Other

19:22 are able to do something. Selected , that's normal dynamic instrumentation. Um

19:34 back when there's someone controlling parents talking power for instance. But basically obviously

19:43 one time you can do it but in terms of source coders and

19:48 family or they're also tools and that you tell, it gives instructions and

19:54 that there's some form of pre the construction close into your code and

19:59 to comply, it again talked about hotel doesn't in terms of helping is

20:07 instrument pickle and the other aspects. many of the tools does sample.

20:20 it it reads counters a certain So it doesn't do it, instructions

20:26 instructions and usually that means to some . So they in order to leave

20:32 counters or a story way they have from counters. So and so that

20:38 predominantly the way things were done in not to be too intrusive, Venezuela

20:43 not generate the Brazilian data points, . Things runs at the kidnappers,

20:51 of instructions per second. So don't it on the road construction basis.

20:56 they get things sample and the other is subtracted directly, measure certain events

21:03 statements under just a moment, samples predominant. Uh Well you're doing things

21:12 that means when you repeat the things you run it again, you don't

21:19 get the exact same accounts of various as the fact before because it said

21:27 uh and and that's the other thing them talk about this something more next

21:35 actually again. So, but there ways of that's the measure whatever data

21:46 from the point operations cash basis I kind of and what's beginning and end

21:53 inside the beginning and end. There be various function calls and so that's

21:59 the inclusive is kind of the beginning end and the explosive one is just

22:04 focus on a particular function corn in the cold. Mm Yes,

22:17 is again through your that's a solution you want to do and just for

22:24 . Okay. So yes necessarily. no single solution is sufficient because it's

22:31 conflicts what actually happened in modern processes for to try to cover it all

22:39 very unreal. Even though many tools rich in what they can do.

22:46 so it's trying to need to, familiar with tools depending upon what you're

22:51 . Yeah. On your code So when I was kind of general

22:59 , the trump stuff. Trying to out how to keep tools and have

23:04 think about testing and assistant performance of and questions before talking about specifically.

23:20 . So yeah, as I mentioned it was before sometimes you arrived.

23:29 so you guys for the most of public food. A little bit

23:34 a little bit of preamble. Do know what to expect them and they

23:36 show up like that. So support development started by this fellow door and

23:50 when he was a master student at of Tennessee. Uh because taking off

23:58 extensively by the use either in the domain version or as thing and has

24:06 adopted by various vendors in their operational . Um at um I'll talk about

24:18 from the bullets. So the one also that they have now, it's

24:26 on very much all the processes you're to encounter that means but and the

24:33 so by then farming and video products support to somebody usually recently good degree

24:43 not everything is necessary. Profit can his supporters on every platform and part

24:51 it that the vendors may not uh Give you access to second information so

24:57 not possible certainly. And into for at some point about something and then

25:03 decided doesn't want it anymore. They then disabled the feature that about profit

25:10 get something information. Yeah, so uses hardware counters, as I

25:20 pretty much all the CPU process designers in a bunch of counters for all

25:27 of aspects of our code based on processors and some of them they give

25:34 to don't give access to everything. so those kind of publicly available counters

25:42 the basis for collecting information by tools com. Uh This is just pretty

25:51 all kinds of aspects of the code it looks at the use of functional

25:56 , that floating point unit cash data I'll give examples of that. I'm

26:02 for government there was some of So it gives you very, it

26:07 give you a very good or detail exactly how to put the head and

26:13 no see things are fully utilized, are waiting because of memory not delivering

26:20 or what? Okay. I put this silent case uh, it comes

26:32 into lectures, this notion of code about maybe students or if you haven't

26:40 computer courses, language courses, something with. Mhm. So it's a

26:51 is worth keeping in mind. So a code block is basically financial statements

26:59 , that has an enter point and hasn't come exit point for there's another

27:07 point. So there's red boxes in of the cold sort of defines and

27:13 test. Mm hmm. Basically one sequences and they go down here.

27:22 uh, there's a broadcaster The 64 there is a chemical five years.

27:28 another entry form point for the section it is another informant. So that's

27:35 pulled off or something that will be sequence and there's no option for

27:42 Yes. So, you know, cool grant kind of the final uh

27:49 or they so especially where there is Yes. Yeah. Right click on

27:57 right hand. Sorry. So what's cool books are functions are executed

28:04 Oh in comparison to the optimizations that to work with at best, I

28:14 have said the best. But the pieces to work control blocks because there's

28:19 issue that controls for. So that's more freedom to rearrange troll this,

28:25 what's necessary. But I'll cover that another election. Um Oh Uh seven

28:35 site events is very fundamental notions in of coffee and uh huh. Do

28:48 want to call negative events pre such 99 cents. So uh Native events

28:57 something that is define or made available the process of label level. Uh

29:09 the native events are not necessarily identical M. D. And and until

29:17 and at the end processes that you to the vendors immediately unique to the

29:21 processes. And then given back some events is a variable across the various

29:29 that to act the precept events. that the party folks decided is something

29:40 most seriously like. So the best different things. And the research

29:47 Native, Just a native event. it also can be composed of several

29:55 okay, events to give you something right information and then you have a

30:02 uh relative to put a bunch of events. That's for things you want

30:08 measure into any of that stuff. that's something that uses can be um

30:19 I might be a good point. like to say that the number of

30:27 that party or any one of these access to this limit. So the

30:36 of things you can measure or get tools to tell you about. We

30:40 have far exceeds the number of registers . So at any given run and

30:47 popular you can get a few things but in fact that's everything proper can

30:52 on that particular process. So that fun. Potential needs to make several

30:59 runs to Yes the information you need the registers are limited that what you

31:06 collect in a single round and another to be aware of is that not

31:16 types of events or data they want collect is comparable with the charge.

31:24 cannot necessarily have a free combination. want this side but there may be

31:30 among the five which front every down because each one of them but the

31:35 may not he's a positive. Those a couple of things And I think

31:41 the head of some of the slides that's one of them. So I

31:48 this stops the vaccinated events and peaceful there are oh talk about it.

32:01 very slim waist query. Once your store what's available on the particular

32:08 So that's it's copy available that allows to show some examples in the and

32:21 event choose gives them more information about incident. What a doctor to do

32:29 to get. And I'll give examples that screenshots. So terms of efficiency

32:38 a long measure of efficiency instructions percent architecture you can get an idea what

32:48 best cases and then our present state what's actually got some some construction

32:56 And then if they were judgment whether is goes to the best you can

33:00 or their headroom improve the coast and America and the huge tells you it's

33:09 . Surely example it up. So is also I think this information or

33:19 . Yeah. These so indeed the . So yes. Okay. So

33:30 of the not all the memories necessarily within a given time. So this

33:37 you is easily addressable and stop the just fall apart from these two.

33:46 continue to read all this. Be to be able to and that costs

33:51 lot of back. So it's be the performance of coast and that it's

34:05 of this because you see kind of for the memory access pattern that you

34:10 . So you can attract it to . This is by structuring the coals

34:18 in their father's footprint on that. of the power. Uh Yeah.

34:28 . Mhm. My comments are not . So what this says, I

34:33 know how much you can actually see . So this is the guy from

34:40 . But there is a regular we finding here's our market but consequence Eu

34:53 the miracle lots of things trying to them to the system, feelings are

35:02 and the few university so unit so most four units is kind of the

35:12 towards the memory and it's very kind supportive to us. So that's kind

35:19 the next field here in the UK I'm gonna talk to something about but

35:26 suffer, this is B Sanders, are never one day to christ and

35:32 this past basis. Yeah. Uh I was like, this is an

35:40 pieces. Some of our fears perhaps . So when I talk about all

35:47 of fascist subject can get off. so then of the articles of

35:59 you can use it. It's available implement. Uh huh. So

36:12 Done. Thanks column. Huh. whether it's mhm. Protected the information

36:20 or something architect put together. It's been among society. It's accepted

36:28 over some maybe for that from the of that. And then right,

36:40 I have a few examples of Nafta that was about in Hungary references what's

36:54 , but also something and practice too . Yeah, wow. The outside

37:04 make the body once this comes No, it comes off of this

37:13 central to the analysis of Yeah, 50 and other court appointed.

37:23 Yes. It's a whole number. . Uh there's uh So no one

37:33 important officer we can get them to to that can see important more on

37:41 , something like that and so sort work spaces and so the first it's

37:53 excesses, this is uh is and the advice of a friend and then

38:00 stuck with it that access uh bright really so often I didn't relate to

38:14 else Africans Yeah, yeah, very information. And what goes on with

38:22 call for a particular process. Mhm , uh huh point out the source

38:37 bottom here. So and most of processes bank, they have some form

38:43 vector or seeing the instruction set, credit line in september song of severe

38:53 . This is a number of active but there is uh I think it's

39:03 a lot of information um Thanks. couple more comments about this.

39:18 but there's a few level from interface this kind of is in use and

39:23 other one is the control of what's and um so here is kind of

39:32 level in the first basic can start and I don't think so yes for

39:38 with that. So let's keep it a little bit more detailed calls and

39:41 will get talked about it. So , I want you want from

39:51 Mhm um so I guess you have all this, let me contradiction.

40:01 , so you can be hissed a and stuff that Okay, hold them

40:07 that. Right. Um so I this point a little bit this off

40:22 huh incorrect expectancy part of it to out probably not right, several of

40:39 . So it doesn't mean that this well very well stated. There's something

40:50 , and we're, I guess it's one maybe it wasn't a couple.

40:57 yeah, yeah, this is not all that was good for and so

41:09 regarded on stated that correct, composed that. So let me do

41:25 So I was going to give you example here, what are you going

41:29 do? Okay, so there is gun there in our example, maybe

41:39 by about there being a single, know, better right on the final

41:45 the minimum. So here's uncles So I think you're right and the

41:52 of the black and on the right side and soon I understand this is

41:59 the life in the rules, but rules are or his difference. So

42:06 happened here is that these two dudes attacks. So what's the big

42:16 So, so this is, look the tone here. This is this

42:23 the ball going around the main falsified , this is in the product

42:31 What do you mean myself to take over a okay, in a

42:36 Movies, rows and columns, it's not in this case don't do

42:45 . So we don't hear what happened the middle this time. Okay,

42:51 thing, this is fixed. so this is kind of sometimes it's

43:04 at the, but it's also in turns on what? So as I

43:11 , that was kind of the product this is the company the inside of

43:19 city. So now that was a attributes transfer worry is that of

43:29 So let's keep that. So here it? Perhaps so that's what they

43:38 give you some years. Was originally there so we dress I guess.

43:47 right. What time did it So your arm uh support center.

43:59 . So someone used to try More 40 times faster than month.

44:06 fixing the problem. So that's simple . Yeah. Same performance quite uh

44:16 that yes, you can look after lot actually get some idea of go

44:24 . So wow. The 7 3 . So pretty much the whole number

44:31 gonna start. I think we'll do same work, but they don't go

44:38 the recycle center. Yes, the time. And because that becomes a

44:49 before. Before unreasonable less than the . And the city construction cycles.

45:00 , I may want to figure out more what happened? Uh huh.

45:09 . That's this is here for that . The response. one more reason

45:15 themselves. That sentence. Yeah. like that's for you got some

45:25 The car. Why did this happen you see the number of persons on

45:31 radio? Okay. And we'll talk that. She's an action but package

45:40 give you this type of information. . Mhm. Okay. Face some

45:50 . I think that's something that was vomiting and this is very true.

45:57 kinds of stuff that can help you what goes on. Uh huh.

46:08 up for Well we'll do it. I think questions is enough. The

46:25 participle truth. Yeah. Yeah. work. Mhm. Should Yeah.

46:47 everywhere. Okay, smells careful. so uh on some paid uh to

47:11 probably the first thing we obviously need do is to load the manual and

47:17 as it happens on standby to there's multiple versions of probably available. So

47:23 you uh do model spiral, probably will tell you all the available versions

47:30 uh the understanding of their cluster that currently on on a computer also don't

47:37 anything of a loving note. Uh far uh this class will be using

47:45 Uh operation 5.7 and there's a reason it because uh there are tests we

47:53 that that version where as well with that we will talk about next time

47:58 been some compatibility issues with the newer versions with our Yeah so now industries

48:07 just want to make sure that it's and Uh 5.7 - 7 to be

48:13 for now. Uh The simplest command we can use with probably uh first

48:22 called Poppy Fields and when you stop let's go on the start of this

48:31 . Yeah. Uh huh. First us here uh some information about the

48:36 and uh here as roger johnson has that at least uh CPU frequency information

48:43 crops like cross slash C. U. N. For and it

48:47 reports the minimum of CPU frequency. that's why min and max frequency contribute

48:53 the same question. Reality is not It also does some of the information

48:59 you usually get with L. U. View as well as a

49:02 of course uh for socket number of , a number of transfers of it

49:07 transfer for uh different things. The information here is uh this particular uh

49:16 here that's called a number of hardware . So on on processors there's multiple

49:22 of uh hardware Congress generally is usually or even could be more than that

49:28 many processors. But the process of , they allow you to Only use

49:34 certain amount of hard work to understand this is only 11. Coming back

49:39 a point of final channel. You select uh certainly a number of counters

49:47 a given execution of your program. all the events, break them down

49:56 multiple executions. The uh the next that does output for the event shows

50:03 is that uh the events that one the screen was exactly the same.

50:10 here you can see all the data cache misses whether it's available or

50:17 . But if it's they like it not. One thing I should mention

50:20 probably aware that shows only the preset . So those are the events that

50:24 generally available on all the uh all processors. Uh Yeah that's pretty much

50:31 of the information in the end whenever trying to collect any information or element

50:36 make sure that first that event actually on it because this this may be

50:42 long which receive you you're working I'm not going through the same every

50:49 . Um One more thing you can with a copy of bill is using

50:53 flag uh and that you can use any of these uh event that uh

51:01 available. Uh if you do that are using replication operations. Uh she

51:09 be a little bit more detailed information that particular uh event. So against

51:16 uh information about the CPU but uh with the information about how that particular

51:25 understanding it and and then this is the single decision of it's actually calculated

51:30 a combination of four uh native event you don't want to and three with

51:36 uh which are specific to the And they compute compute these negative events

51:41 with the final value for leah of single decision operation. Okay. So

51:49 . Oh that's all different in the rick uh this for your life,

52:08 single um uh that's generating was but didn't find it funny after that.

52:17 huh. Yeah and I write something talk about and they call this combined

52:24 they got one the other one so . Uh huh. One because that

52:45 on the ground that's because substance Uh Oh so uh I mean uh

53:00 are problems with physical can do. and they supported the whole requirement?

53:14 probably six. Uh huh dale. is it? Uh Also tonight I

53:33 a comment come fall. Yeah. . Yeah. Yeah. Right.

54:11 . So yeah moving on from probably whale. Uh it shows you the

54:17 ribbons now if you want to see native events that are available for this

54:24 processor again this is going to be for all the possible that you might

54:28 up using different stages. Um So needed quite a lot. I'm honestly

54:38 you that is an order of So this I'm just going to have

54:43 buy more demand for this party. Wales and you're going to go through

54:49 list but uh you about some processors event that they don't need evidence uh

54:59 city. And there's different options available the uh the native events which channel

55:07 were not used as mostly for more worker but we can get that from

55:13 so you can just go through your your list now it's not uh Yeah

55:20 gonna be all data cache misses and uh that the past can provide you

55:25 about and healthy. I understand a and similarly with dominated. Uh Well

55:33 can also um use the my Flag too. Get more information about

55:40 particular events. Maybe if I do I should give you yes. Uh

55:47 you a slightly longer description of what actually tells you about. Yeah.

55:56 any questions from those two things the or So? Uh Cool the

56:14 Uh huh. On average some you . Uh huh. It is.

56:33 the whole. Uh huh. Uh huh. A lot of

56:43 So defined. Uh huh. And had to that. Uh Not even

56:59 the process is just on the same . Um Your clothes on the share

57:05 . So across the different execution of program you can get in different values

57:10 your for any of the events. then coming back with one of the

57:13 that we talked about in the electoral None of your four multiple times to

57:17 sure but you're not getting outside and . Um um So again just you

57:29 uh probably will give you the police of the native of uh about the

57:35 events. Um One interesting uh feature bobby uh your mentor and it gives

57:45 a little bit more needle about how uh on a particular particular city yourself

57:52 you about. Uh you only have build an instruction that. Uh

58:03 Just one thing that line sizes and number of lines and associated with for

58:12 cash uh the details so you don't to get some more parents try

58:20 Uh I imagine and and how your is working to these to these numbers

58:24 get a good idea. Mhm. one thing is called Bobby from online

58:36 what it basically does it allows you test out different different events whether we

58:43 working or not. So you can provide a name for any of the

58:49 . So uh Raphael when uh uh cash ministers the public online and what

58:56 does you don't do that. It you adamant and they're they're working on

59:01 . And just simply I understand that have uh building and you're getting some

59:09 values around uh if you give a name for an event that is not

59:18 , it will also tell you that understand that does not exist and you

59:21 uh you can accuse it. Uh One more common that may be

59:30 is the probably events user. And does it allow you to test compatibility

59:37 different events with each other. So thing is that you have committed a

59:40 of particulars so you can obviously collect number of events together but also events

59:46 may not be compatible together. You to make sure that you're using a

59:51 in a single execution. Otherwise probably not give you an error but it

59:57 likely give you some wrong values. not respond to the actual behavior.

60:04 always make sure that you use. and uh compatible with each other.

60:13 let's say we ask for a copy the decision operations and that should give

60:19 a list of the operation uh, that you can use together with

60:25 So other than that if you try use any um hello man with bobby

60:30 he also that's a Uh one or with it. It's going to tell

60:36 that. Yeah. Well 20 cm be countered with the uh the other

60:42 even that you provided. So make you never learn uh your uh events

60:50 multiple events that are not compatible with other. Any questions on that.

60:58 , so uh I'll show you the for probably low level and high level

61:05 . Before I get into that stop body high level interface. It can

61:10 access the preset events. You cannot the native events using a high level

61:18 and it's easy to use. But , because the caviar that you can't

61:22 , you can request populated and uh measurements using high level Libya. Uh

61:29 can ask for these elements only Both are available. It's a little

61:34 more than fall over how you, you instrumental reports. So before that

61:44 should show you this simple example which tells you how many doctors that are

61:53 and for any girl that used to A. B. I. The

61:57 thing you need to make sure that have the popular dish header file in

62:01 boat once you have it. And can use all the features of copying

62:06 what you don't need to add anything to your source code and from superior

62:11 . Then you can provide the event . I don't think it's important for

62:18 example that the function function that transforms particular nonetheless function called coffee non

62:25 And it tells you the number of counters that are available for you to

62:29 on a particular CPU. And everybody . It resents you, uh

62:37 Uh, either a value or a value. And you can simply test

62:43 by comparing the return value with this called copy. Okay. That's provided

62:49 the uh, library. If you a negative one value or the return

62:55 from a function That's partly for the . Okay? And you should know

62:58 there's something wrong with your Okay. to combat your called uh, you

63:04 to add a couple of things to competition. Uh, command. So

63:09 thing uh, you can you can any violence. C O I C

63:14 whatever. Um, you need to lee include a directory part.

63:20 command. And the other thing you to provide is the path to the

63:26 uh, directory probably where is And the other flag that you need

63:31 give us a dash L. Yeah. And other than like it's

63:36 much the same. Berlin is uh compilation command. When you do that

63:42 from reading name. When you run should give you the same out.

63:49 is that you have the commands with out earlier? There's 1100. You've

63:54 the same number from uh from that we'll see hardly partly high level uh

64:04 program the slide. So again, with the header file. Popular

64:11 All right. What it basically it just uh They find three areas

64:19 believe believe it promises the multiplication of sources. And so this is your

64:26 part in the cold. Uh anybody to uh measure in the event with

64:33 . What you need to do is you need to define an illegal events

64:38 from where the name of the a that you are trying to collect,

64:45 an element of that array. You need to have another day called values

64:51 whatever you want to name it. need to have that stores are so

64:57 you can leave them once you're Once you have those two things,

65:02 the function that starts down during the . Um It's called Poppy Start Congress

65:08 it takes the event. That is name of the heavens and the number

65:14 events that you're counting. And just make sure that it equals the

65:18 and bobby. Okay. One people it it starts sounding the events that

65:24 available in the uh, ready gave in the in the seventh century.

65:29 once you're done with your computation section your code, you can just call

65:34 function called Poppy Read congress. And what you have you the measurements from

65:42 during the regulation of your computer computer of the court. Now one thing

65:47 notice here is that you can understand it leads the value of the of

65:52 numbers. But it also so if read the counters again after calling popular

65:58 , it maybe Some other value started zero again. So every time you

66:06 , beauty counters, it will reset counters. Uh, the body stop

66:11 function. That's really not necessary in example. That just there to show

66:15 . It does the same thing is counters. It gives you the

66:22 but it also stops pounding the counter it does reset it, but it

66:25 not let let them continue around And that event so that when you

66:30 really call, when you're, when done with your program at the last

66:34 moment of your uh, your program likely. And that's pretty much that's

66:40 you need for the high level program maybe I and combination is exactly the

66:48 . Just give the uh, include lib better key name and them and

66:53 popular uh, and then that you're to buy your food and here you

66:59 see you got the output for the number of cycles. Uh because we're

67:04 gonna cycle at the event in the and the coach. Yeah. Any

67:14 about the I love Olivia. Uh you you are a normal partition.

67:23 huh. Are but it's always let over time three times for for these

67:31 . Yes, it may be different you use a number of years.

67:36 yeah, that's not whatever but at 40 years it's going to be 11

67:40 time. Mhm. So Bobby high it's just basically gives you these viruses

67:51 so start three stop a couple of that you can use a lever for

67:57 for very simple use you don't need uh too much control over how things

68:01 going. You don't want to Cleveland events using that. Uh The low

68:11 A. B. I It looks much the same but it also gives

68:15 a little bit uh saying the events . Okay, quick. So bobby

68:26 you guys the same means you need get back. Even said that will

68:31 later on in the code. You to have a area that stores the

68:35 of the measurements and calculations but before anything you need to call the public

68:41 in it uh function uh popular. FBI. Once you have initialized the

68:48 you can start creating an events that bobby create events that and then you

68:55 use the function called bobby add named . And that's the uh events that

69:01 want to add to your event So we are adding one of the

69:04 side events. That's probably total And in the next line I'm adding

69:09 of the native events that's going on . Element dash mrs. So that

69:14 can also mix and match pleaser than donate immigrants. How about just make

69:19 that they are compatible. Um the cause for starting the counters are

69:27 much the same is just the start the young bobby start on doors with

69:30 high level the FBI. Then you your inauguration once you have started uh

69:37 and then you call the Poppy And in the end you are about

69:41 start to stop uh what uh compilation be uh the same. And if

69:53 go, if you're not added to you the values for a lot of

69:57 numbers that it collected there. Oh too. I don't, that was

70:07 much it. So one thing I mention is uh absolutely. Talking about

70:12 in the next lecture lecture. So problem now we know that from the

70:16 is that you need to go in source code and these peoples and this

70:21 get really complicated many times when a big code or there's wonderful nested sections

70:26 you want to measure about. and that and that is because,

70:32 we get really, really complicated with it does all the automatically for

70:38 So you just need to use some without and it has all the instrumentation

70:43 instrumentation statements, inside you're going So you don't have to worry about

70:47 . You just need to provide the that you need to measure with our

70:51 then it should, uh, So now it and background, it

70:59 people that does all these complicated stuff not for you. Yes. For

71:08 simple goals, you can, you always use the uh, the high

71:11 A B I get and just get with many of the things how the

71:22 I got to be fun. So , it's all uh, and the

71:31 what application? Yeah. Uh that's a good question with bobby.

71:43 , the way I saw it, usually was, it was very good

71:46 use and getting a demo programs you really simple threat. Well, gold

71:51 or structured loss as we call that as far as uh start point and

71:55 endpoint in that case you can use really, really well. So for

72:00 we're using public 5.7556 point go. have came up with a really nice

72:07 to organize your, your sections that want to measure. You can just

72:12 tell it. I should, I my measurement region to start here and

72:17 want my measurement region and here. it also allows you to unless the

72:21 . So in that case, even you have very complicated applications you can

72:26 can use probably, well, the you don't really need a car with

72:30 , that would be very useful when have quite a lot of complicated uh

72:36 in your goal where you don't know but uh bobby calls and it's really

72:42 there and I guess that would be . Okay. Thanks. Yeah.

72:56 . Uh huh. Yeah, but . Mhm That's yeah, we'll be

73:25 maybe I can stop this execution Yeah. And then the system on

73:32 off electronic things. Energy and the that was so fun manufacture this guy

73:45 see. Oh uh yeah. And of your article access. Yeah.

73:54 of the language. A number Minimum 4 30,000 or uh how many times

74:14 uh existing for all the public Mm hmm. So uh let me

74:26 Almost all of them right? About . United And I get buoyed up

74:35 the but it's always there and uh the old uh huh um may I

74:44 him? No one of these hires said all the one we're trying to

74:51 I guess. Uh yeah. Yeah. Oh, okay.

75:11 Resistance from it's important if you guys average. We really don't know other

75:26 that because once the virus is Uh huh. Not only uh

75:51 Yeah. But this is going you . Uh huh. Oh yeah.

76:44 . That was it. Oh, . Oh, I should stop

77:00 Yeah. Yeah. Mm. Yeah. On the record somewhere

-
+