Differences

This shows you the differences between two versions of the page.

Link to this comparison view

iocla:cursuri:curs-16_17 [2021/01/21 20:53]
laurentiu.stefan97
— (current)
Line 1: Line 1:
-====== Curs 16 - 17: Optimizări ====== 
  
-<​html>​ 
-<iframe src="​https://​ctipub-my.sharepoint.com/​personal/​dragos_niculescu_upb_ro/​_layouts/​15/​Doc.aspx?​sourcedoc={3191d1ae-dca1-4027-a96e-c94e791e7be1}&​amp;​action=embedview&​amp;​wdAr=1.3333333333333333"​ width="​722px"​ height="​565px"​ frameborder="​0">​This is an embedded <a target="​_blank"​ href="​https://​office.com">​Microsoft Office</​a>​ presentation,​ powered by <a target="​_blank"​ href="​https://​office.com/​webapps">​Office</​a>​.</​iframe>​ 
-</​html>​ 
- 
-  * [[https://​github.com/​RazvanN7/​iocla/​tree/​Opt/​curs/​curs-16-17-optimizari|Curs 16 - 17: Optimizari (NOU)]] ​ 
- 
-  * [[https://​ctipub-my.sharepoint.com/:​p:/​g/​personal/​dragos_niculescu_upb_ro/​Ea7RkTGh3CdAqW7JTnkee-EBsaTLWwMQz6TymVUuPpZ69Q?​e=ekuw2W|Curs 16 - 17: Optimizari (PPT)]] ​ 
- 
-  * Suport curs 
-    * Ray Sefarth, "​Introduction to 64 Bit Intel Assembly Language Programming for Linux",​ 2011, capitolul 15 
-    * Richard Blum, "​Professional Assembly Language",​ 2005, capitolul 16  ​ 
-  * De citit, alte surse 
-    *  [[http://​agner.org/​optimize/​| Agner Fog optimization manuals - optimizarea e un curs de semestru! ]] 
-    * [[https://​danluu.com/​assembly-intrinsics/​|Hand coded assembly beats intrinsics in speed and simplicity]] 
-    * [[http://​arjunsreedharan.org/​post/​82710718100/​kernel-101-lets-write-a-kernel|Let'​s write a kernel]] 
-    * [[http://​neilkemp.us/​src/​sse_tutorial/​sse_tutorial.html|Intel SSE Tutorial : An Introduction to the SSE Instruction Set]] 
- 
-===== Demo-uri ===== 
- 
-Demo-urile se găsesc în [[https://​github.com/​iocla/​demo|repository]]. Pentru a clona și accesa repository-ul folosiți comenzile: 
-<​code>​ 
-git clone https://​github.com/​iocla/​demo iocla-demo.git 
-cd iocla-demo.git/​ 
-</​code>​ 
- 
-Apoi accesați directorul ''​curs-16/''​ sau ''​curs-17/''​ folosind, respectiv, în directorul repository-ului (''​iocla-demo.git/''​) comenzile: 
-<​code>​ 
-cd curs-16/ 
- 
-cd curs-17/ 
-</​code>​ 
- 
-Acum putem parcurge secțiunile cu demo-uri de mai jos. 
- 
-==== Demo  ==== 
- 
-''​cat /​proc/​cpuinfo | grep Hz''​ 
- 
-În directorul ''​curs-16/''​ rulăm: 
-  * ''​make'':​ pentru compilarea executabilelor 
-  * ''​./​test_freq'':​ estimează frecvența procesorului folosind registrul TSC pentru sleep(1) 
-  * ''​./​test_rdtsc'':​ în bucla rep trebuie încercate diverse combinații de instrucțiuni. ​ Programul afișează numărul de instrucțiuni din buclă și numărul de cicli folositi. ​ 
- 
-''​./​test_sse'' ​ 
-se compară viteza de execuție cu operații SSE cu prelucrarea clasică octet cu octet 
- 
-''​./​lock''​ 
-Cum arată inline assembly? Cu C++  
-Cum arată un "race condition"? ​ 
-Instrucțiunile nu sunt atomice! ​ 
-Prefixul lock. 
iocla/cursuri/curs-16_17.1611255203.txt.gz · Last modified: 2021/01/21 20:53 by laurentiu.stefan97
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0