@@ -39,7 +39,7 @@ Linux has a **time** function that can proceed any command, so this
3939can be used to time the entire job externally even if we don't have
4040access to the source code.
4141This can be used to time a short test run in order to estimate the
42- runtime needed for the complete job.
42+ run time needed for the complete job.
4343When we get to talking about parallel computing, or using multiple
4444compute cores to run a single job, the ** time** function will
4545prove useful for getting the execution time for a job as it
@@ -105,7 +105,7 @@ for programs when they are running.
105105Below we are going to use the ** sleep** command to time an interval
106106of 5 seconds just to simulate what we might see in a real job.
107107In this case, even though the sleep function was supposed to go
108- 5 seconds, there was some overhead or inaccuracy in the timnig
108+ 5 seconds, there was some overhead or inaccuracy in the timing
109109routine or the length of the sleep.
110110This is one thing that you always need to be aware of when measuring
111111performance.
@@ -122,7 +122,7 @@ sys 0m0.003s
122122```
123123
124124In addition to worrying about the clock accuracy, you also need to
125- worry about interferrence from other jobs that may be running on
125+ worry about interference from other jobs that may be running on
126126the same compute node you are on.
127127The best way to time a real job is to test it out on a completely
128128isolated computer.
@@ -140,7 +140,7 @@ If your job is using the network to communicate with other
140140compute nodes, that might also be shared with other jobs running
141141on the same node.
142142The single largest factor to be aware of is that other jobs using
143- the same file server as you are can definitely affect the peroformance
143+ the same file server as you are can definitely affect the performance
144144of your job if your code is doing lots of IO (Input and Output).
145145On HPC systems, this can be true even if the other jobs are not on
146146the same compute node as your job.
@@ -392,7 +392,7 @@ Since both of these are above the nanosecond range, we can be confident
392392that the timing routine is accurately measuring each.
393393
394394Let's see what we can learn by playing around with it some more.
395- When I run the python version preceeded by the linux ** time** function,
395+ When I run the python version preceded by the Linux ** time** function,
396396I see a real time significantly larger than the loop time and output time
397397combined.
398398The initialization time is not measured but shouldn't be more than
@@ -625,7 +625,7 @@ If we look at the **t_loop** time instead, in my computer it is more
625625than double what it was before.
626626When the clock routine is measuring very small intervals each time,
627627it can be intrusive in that it distorts the measurement by increasing
628- the runtime of the entire code.
628+ the run time of the entire code.
629629It isn't surprising that this is intrusive since we are measuring the
630630time it takes to retrieve a single array element and do one addition.
631631The code is doing a subtraction and addition itself to calculate the
@@ -636,10 +636,10 @@ doing the timing in this way is not more intrusive.
636636
637637The goal is to fully profile your code so that you understand
638638where all the time is being spent.
639- This means timnig each computational section where time is being
639+ This means timing each computational section where time is being
640640spent, usually the loops for example.
641- While simple print statements may not be important contributers to
642- the overall runtime of a code, any large input or output from files
641+ While simple print statements may not be important contributors to
642+ the overall run time of a code, any large input or output from files
643643may be.
644644When we start talking about parallel programs that use multiple
645645cores or even multiple compute nodes it will become important
@@ -684,7 +684,7 @@ both increase the scaling efficiency.
684684
685685## Tracking Memory Usage
686686
687- When we think about high peformance , we mostly think about running
687+ When we think about high performance , we mostly think about running
688688jobs faster.
689689For some programs, the memory usage may be the factor limiting what
690690types of science we can do.
@@ -777,7 +777,7 @@ We will practice these approaches more in the upcoming modules.
777777
778778::::::::::::::::::::::::::::::::::::: keypoints
779779- The ** time** function can always be used externally to measure performance
780- but has limitted accuracy of around 1 millisecond.
780+ but has limited accuracy of around 1 millisecond.
781781- Internally there are precise clock routines that can be used to measure
782782 the performance of each part of a code. These are different for each
783783 programming language, but the use is always the same.
0 commit comments