Compiler optimizations

Loop unrolling

Loop unrolling, also known as loop unwinding, is a loop transformation technique that attempts to optimize a program's execution speed at the expense of its binary size, which is an approach known as space–time tradeoff. The transformation can be undertaken manually by the programmer or by an optimizing compiler. On modern processors, loop unrolling is often counterproductive, as the increased code size can cause more cache misses; cf. Duff's device. The goal of loop unwinding is to increase a program's speed by reducing or eliminating instructions that control the loop, such as pointer arithmetic and "end of loop" tests on each iteration; reducing branch penalties; as well as hiding latencies, including the delay in reading data from memory. To eliminate this computational overhead, loops can be re-written as a repeated sequence of similar independent statements. Loop unrolling is also part of certain formal verification techniques, in particular bounded model checking. (Wikipedia).

Video thumbnail

Learning Python For Loops

More videos like this online at http://www.theurbanpenguin.com We take a moment to look at for loops within Python using Python 3 installed on an openSUSE Linux desktop. First we iterate through modules installed on the system using sys.modules; then we move into reading files line by line

From playlist Python

Video thumbnail

The Physics of Driving Through a Vertical Loop

This animation shows some of the physics involved in vertical loops, including driving a loop at constant speed as well as coasting through the loop. This animation can be a starting point for discussions about Newton's Laws, Energy, reaction forces and more!

From playlist Circular Motion

Video thumbnail

JavaScript Lingo: Loops

Basic intro to answer the question, "What's a Loop?" If there's a set of data, (we'll use an array for this example, but it doesn't have to be,) and you want to perform the same manipulation to every piece in that set of data, you can use something called a loop. Loops have some complex

From playlist Computer Science and Software Engineering Theory with Briana

Video thumbnail

Exploring the mathematics of Loops

More resources available at www.misterwootube.com

From playlist Mathematical Exploration

Video thumbnail

Traverse Roll

This video describes working principle of Traverse Roll for Yarn Winding Machines. A cam follower moves inside a continous grooved path to make the reciprication motion - this allows it to feed yarn to the winding machine to form a package.

From playlist Cams

Video thumbnail

How to Make a For Loop in Python

This video explains the basics of for loops in Python including looping over lists, numerical ranges, the continue keyword and the break keyword.

From playlist Python Basics

Video thumbnail

Simpler Insertion Sort Function

Simplifying the while loop for the Insertion Sort function

From playlist Computer Science

Video thumbnail

What is the difference between rotating clockwise and counter clockwise

👉 Learn how to rotate a figure and different points about a fixed point. Most often that point or rotation will be the original but it is important to understand that it does not always have to be at the origin. When rotating it is also important to understand the direction that you will

From playlist Transformations

Video thumbnail

Python 3 Programming Tutorial - For loop

The next loop is the For loop. The idea of the for loop is to "iterate" through something. For each thing in that something, it will do a block of code. Most often, you will a for loop's structure very much like for eachThing in thisThing: do this stuff in this block So, again, wh

From playlist Python 3 Basics Tutorial Series

Video thumbnail

Recurrent Neural Networks (RNNs), Clearly Explained!!!

When you don't always have the same amount of data, like when translating different sentences from one language to another, or making stock market predictions from different companies, Recurrent Neural Networks come to the rescue. In this StatQuest, we'll show you how Recurrent Neural Netw

From playlist StatQuest

Video thumbnail

Unrolling the Loops - Computerphile

Steve Jobs demoed the Apple Laserwriter only after John Warnock had massaged the code. Professor Brailsford explains that if you need speed it can be worth ditching structured code and flattening your program. The Professor's notes: http://bit.ly/2bRFBIa Password Cracking: https://www.

From playlist Subtitled Films

Video thumbnail

AstroGPU CUDA Optimizations Part II - Mark Harris

Topic: AstroGPU CUDA Optimizations Part II Speaker: Mark Harris

From playlist Natural Sciences

Video thumbnail

Lec 15 | MIT 6.035 Computer Language Engineering, Fall 2005

Register Allocation View the complete course: http://ocw.mit.edu/6-035F05 License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/terms More courses at http://ocw.mit.edu

From playlist MIT 6.035 Computer Language Engineering, Fall 2005

Video thumbnail

2. Bentley Rules for Optimizing Work

MIT 6.172 Performance Engineering of Software Systems, Fall 2018 Instructor: Julian Shun View the complete course: https://ocw.mit.edu/6-172F18 YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP63VIBQVWguXxZZi0566y7Wf Prof. Shun discusses Bentley Rules for optimizing work

From playlist MIT 6.172 Performance Engineering of Software Systems, Fall 2018

Video thumbnail

Lec 3 | MIT 6.172 Performance Engineering of Software Systems, Fall 2010

Lecture 3: Basic Performance Engineering Instructor: Saman Amarasinghe View the complete course: http://ocw.mit.edu/6-172F10 License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/terms More courses at http://ocw.mit.edu

From playlist MIT 6.172 Performance Engineering of Software Systems

Video thumbnail

Efficient and Modular Implicit Differentiation (Machine Learning Research Paper Explained)

#implicitfunction #jax #autodiff Many problems in Machine Learning involve loops of inner and outer optimization. Finding update steps for the outer loop is usually difficult, because of the.need to differentiate through the inner loop's procedure over multiple steps. Such loop unrolling

From playlist Papers Explained

Video thumbnail

Long Short-Term Memory (LSTM), Clearly Explained

Basic recurrent neural networks are great, because they can handle different amounts of sequential data, but even relatively small sequences of data can make them difficult to train. This is where Long Short-Term Memory (LSTM) saves the day. Long Short-Term Memory is a type of recurrent ne

From playlist StatQuest

Video thumbnail

Finally back to research!

Broadcasted live on Twitch -- Watch live at https://www.twitch.tv/leioslabs

From playlist research

Video thumbnail

How To Make a While Loop in Python

This video describes the basics of making while loops in Python. Code available in the comments below!

From playlist Python Basics

Video thumbnail

!!Con West 2020 - Vaibhav Sagar: Compilers for nothing, executables for free!

Presented at !!Con West 2020: http://bangbangcon.com/west I’m going to talk about a less commonly known, but surprisingly useful, class of programs known as specialisers, and what you can do with them! I will also discuss the Futamura projections, which are mind-bending applications of th

From playlist !!Con West 2020

Related pages

Dot product | Loop splitting | Branch table | Optimizing compiler | Formal verification | Model checking