© Distribution of this video is restricted by its owner
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 |
|