Submit Search
Upload
SequenceL intro slideshare
•
Download as PPTX, PDF
•
1 like
•
526 views
Doug Norton
Follow
An Introduction to SequenceL:Auto-Parallelizing Programming Language and Toolset
Read less
Read more
Software
Report
Share
Report
Share
1 of 30
Download now
Recommended
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL Models
Space Codesign
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
Rogue Wave Software
emips_overview_apr08
emips_overview_apr08
Neil Pittman
Embedded Development for the Future - Platforms for Rohde-Schwarz Mobile Tester
Embedded Development for the Future - Platforms for Rohde-Schwarz Mobile Tester
InfinIT - Innovationsnetværket for it
OpenCV for Embedded: Lessons Learned
OpenCV for Embedded: Lessons Learned
Yury Gorbachev
NAGESH B KALAL
NAGESH B KALAL
Nagesh Kalal
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoT
Linaro
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
Shinya Takamaeda-Y
Recommended
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL Models
Space Codesign
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
Rogue Wave Software
emips_overview_apr08
emips_overview_apr08
Neil Pittman
Embedded Development for the Future - Platforms for Rohde-Schwarz Mobile Tester
Embedded Development for the Future - Platforms for Rohde-Schwarz Mobile Tester
InfinIT - Innovationsnetværket for it
OpenCV for Embedded: Lessons Learned
OpenCV for Embedded: Lessons Learned
Yury Gorbachev
NAGESH B KALAL
NAGESH B KALAL
Nagesh Kalal
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoT
Linaro
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
Shinya Takamaeda-Y
Design and Optimize your code for high-performance with Intel® Advisor and I...
Design and Optimize your code for high-performance with Intel® Advisor and I...
Tyrone Systems
Tools and Methods for Continuously Expanding Software Applications
Tools and Methods for Continuously Expanding Software Applications
InfinIT - Innovationsnetværket for it
Computing Without Computers - Oct08
Computing Without Computers - Oct08
Ian Page
Alley vsu functional_coverage_1f
Alley vsu functional_coverage_1f
Obsidian Software
Coverage Solutions on Emulators
Coverage Solutions on Emulators
DVClub
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
AMD Developer Central
GPU Design on FPGA
GPU Design on FPGA
Ramanathan SG
The new reality and tremendous opportunity of open source processing
The new reality and tremendous opportunity of open source processing
Mark Sinclair
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
Editor IJCATR
Introduction To Software Reverse Engineering
Introduction To Software Reverse Engineering
SinaRostami7
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
Yoshitake Kobayashi
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
imec.archive
Chris brown ti
Chris brown ti
Obsidian Software
SWEET - A Tool for WCET Flow Analysis - Björn Lisper
SWEET - A Tool for WCET Flow Analysis - Björn Lisper
InfinIT - Innovationsnetværket for it
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
chiportal
Hemanth_Krishnan_resume
Hemanth_Krishnan_resume
Hemanth Krishnan
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Pradeep Singh
2014/07/17 Parallelize computer vision by GPGPU computing
2014/07/17 Parallelize computer vision by GPGPU computing
IEEE International Conference on Intelligent Information Hiding and Multimedia Signal Processing
Standard embedded c
Standard embedded c
Tam Thanh
Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentor
chiportal
全球互联网产业研究之美国游戏市场:游戏市场篇
全球互联网产业研究之美国游戏市场:游戏市场篇
Kou Chou
Tarea seminario 2 TICS [Cecilia]
Tarea seminario 2 TICS [Cecilia]
Cecilia Domínguez Orden
More Related Content
What's hot
Design and Optimize your code for high-performance with Intel® Advisor and I...
Design and Optimize your code for high-performance with Intel® Advisor and I...
Tyrone Systems
Tools and Methods for Continuously Expanding Software Applications
Tools and Methods for Continuously Expanding Software Applications
InfinIT - Innovationsnetværket for it
Computing Without Computers - Oct08
Computing Without Computers - Oct08
Ian Page
Alley vsu functional_coverage_1f
Alley vsu functional_coverage_1f
Obsidian Software
Coverage Solutions on Emulators
Coverage Solutions on Emulators
DVClub
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
AMD Developer Central
GPU Design on FPGA
GPU Design on FPGA
Ramanathan SG
The new reality and tremendous opportunity of open source processing
The new reality and tremendous opportunity of open source processing
Mark Sinclair
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
Editor IJCATR
Introduction To Software Reverse Engineering
Introduction To Software Reverse Engineering
SinaRostami7
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
Yoshitake Kobayashi
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
imec.archive
Chris brown ti
Chris brown ti
Obsidian Software
SWEET - A Tool for WCET Flow Analysis - Björn Lisper
SWEET - A Tool for WCET Flow Analysis - Björn Lisper
InfinIT - Innovationsnetværket for it
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
chiportal
Hemanth_Krishnan_resume
Hemanth_Krishnan_resume
Hemanth Krishnan
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Pradeep Singh
2014/07/17 Parallelize computer vision by GPGPU computing
2014/07/17 Parallelize computer vision by GPGPU computing
IEEE International Conference on Intelligent Information Hiding and Multimedia Signal Processing
Standard embedded c
Standard embedded c
Tam Thanh
Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentor
chiportal
What's hot
(20)
Design and Optimize your code for high-performance with Intel® Advisor and I...
Design and Optimize your code for high-performance with Intel® Advisor and I...
Tools and Methods for Continuously Expanding Software Applications
Tools and Methods for Continuously Expanding Software Applications
Computing Without Computers - Oct08
Computing Without Computers - Oct08
Alley vsu functional_coverage_1f
Alley vsu functional_coverage_1f
Coverage Solutions on Emulators
Coverage Solutions on Emulators
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
GPU Design on FPGA
GPU Design on FPGA
The new reality and tremendous opportunity of open source processing
The new reality and tremendous opportunity of open source processing
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
Introduction To Software Reverse Engineering
Introduction To Software Reverse Engineering
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
Chris brown ti
Chris brown ti
SWEET - A Tool for WCET Flow Analysis - Björn Lisper
SWEET - A Tool for WCET Flow Analysis - Björn Lisper
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
Hemanth_Krishnan_resume
Hemanth_Krishnan_resume
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
2014/07/17 Parallelize computer vision by GPGPU computing
2014/07/17 Parallelize computer vision by GPGPU computing
Standard embedded c
Standard embedded c
Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentor
Viewers also liked
全球互联网产业研究之美国游戏市场:游戏市场篇
全球互联网产业研究之美国游戏市场:游戏市场篇
Kou Chou
Tarea seminario 2 TICS [Cecilia]
Tarea seminario 2 TICS [Cecilia]
Cecilia Domínguez Orden
динозавры
динозавры
Mansell19
презентация2
презентация2
Mansell19
全球互联网产业研究之美国游戏市场:App store篇
全球互联网产业研究之美国游戏市场:App store篇
Kou Chou
Membuat poster untuk komisi penyiaran indonesia daerah jawa
Membuat poster untuk komisi penyiaran indonesia daerah jawa
M Idris Setiawan
Tugas 3 rekayasa web
Tugas 3 rekayasa web
faisalawai
память сильнее времени
память сильнее времени
Mansell19
икона и картина
икона и картина
Mansell19
KM Racing - Case Study; PR
KM Racing - Case Study; PR
Jakub Koutek
доклад по окружающему миру шипулин
доклад по окружающему миру шипулин
Mansell19
венеция
венеция
Mansell19
Lesson7 ppt (p1)
Lesson7 ppt (p1)
citifinlit
Lecture 5
Lecture 5
talha ijaz
япония
япония
Mansell19
Java basics part 1
Java basics part 1
Kevin Rowan
Viewers also liked
(16)
全球互联网产业研究之美国游戏市场:游戏市场篇
全球互联网产业研究之美国游戏市场:游戏市场篇
Tarea seminario 2 TICS [Cecilia]
Tarea seminario 2 TICS [Cecilia]
динозавры
динозавры
презентация2
презентация2
全球互联网产业研究之美国游戏市场:App store篇
全球互联网产业研究之美国游戏市场:App store篇
Membuat poster untuk komisi penyiaran indonesia daerah jawa
Membuat poster untuk komisi penyiaran indonesia daerah jawa
Tugas 3 rekayasa web
Tugas 3 rekayasa web
память сильнее времени
память сильнее времени
икона и картина
икона и картина
KM Racing - Case Study; PR
KM Racing - Case Study; PR
доклад по окружающему миру шипулин
доклад по окружающему миру шипулин
венеция
венеция
Lesson7 ppt (p1)
Lesson7 ppt (p1)
Lecture 5
Lecture 5
япония
япония
Java basics part 1
Java basics part 1
Similar to SequenceL intro slideshare
SequenceL gets rid of decades of programming baggage
SequenceL gets rid of decades of programming baggage
Doug Norton
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
Arik Weinstein
TMT SequenceL customer use cases and results
TMT SequenceL customer use cases and results
Doug Norton
“Making Edge AI Inference Programming Easier and Flexible,” a Presentation fr...
“Making Edge AI Inference Programming Easier and Flexible,” a Presentation fr...
Edge AI and Vision Alliance
SoftwareEngineer
SoftwareEngineer
Todd Nguyen
Os Lamothe
Os Lamothe
oscon2007
Fine line between performance and security
Fine line between performance and security
Almudena Vivanco
Ankit sarin
Ankit sarin
sarinsahab
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development - Ericnel
ukdpe
Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel
Intel® Software
Introduction to C to Hardware (programming FPGAs and CPLDs in C)
Introduction to C to Hardware (programming FPGAs and CPLDs in C)
Altium
Larson and toubro
Larson and toubro
anoopc1998
The Role of Standards in IoT Security
The Role of Standards in IoT Security
Hannes Tschofenig
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notes
WE-IT TUTORIALS
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Nicolas Navet
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Yury Gorbachev
SoftwareEngineer
SoftwareEngineer
Todd Nguyen
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
Design World
SoftwareEngineer
SoftwareEngineer
Todd Nguyen
Design of Software for Embedded Systems
Design of Software for Embedded Systems
Peter Tröger
Similar to SequenceL intro slideshare
(20)
SequenceL gets rid of decades of programming baggage
SequenceL gets rid of decades of programming baggage
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
TMT SequenceL customer use cases and results
TMT SequenceL customer use cases and results
“Making Edge AI Inference Programming Easier and Flexible,” a Presentation fr...
“Making Edge AI Inference Programming Easier and Flexible,” a Presentation fr...
SoftwareEngineer
SoftwareEngineer
Os Lamothe
Os Lamothe
Fine line between performance and security
Fine line between performance and security
Ankit sarin
Ankit sarin
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development - Ericnel
Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel
Introduction to C to Hardware (programming FPGAs and CPLDs in C)
Introduction to C to Hardware (programming FPGAs and CPLDs in C)
Larson and toubro
Larson and toubro
The Role of Standards in IoT Security
The Role of Standards in IoT Security
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notes
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
SoftwareEngineer
SoftwareEngineer
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
SoftwareEngineer
SoftwareEngineer
Design of Software for Embedded Systems
Design of Software for Embedded Systems
Recently uploaded
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
StefanoLambiase
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
VICTOR MAESTRE RAMIREZ
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Matt Ray
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
andrehoraa
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
Philip Schwarz
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
Velvetech LLC
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
smiwainfosol
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
Łukasz Chruściel
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
VICTOR MAESTRE RAMIREZ
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
Wave PLM
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
Hr365.us smith
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
Diego Iván Oliveros Acosta
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Ahmed Mohamed
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Ortus Solutions, Corp
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
Andreas Granig
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
kzayra69
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
soniya singh
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
OnePlan Solutions
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
qr0udbr0
Recently uploaded
(20)
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
SequenceL intro slideshare
1.
An Introduction to
SequenceL Auto-Parallelizing Programming Language and Toolset www.texasmulticore.com Brad Nemanich, PhD Chief Technology Officer
2.
Why is SequenceL
Needed? ”The way the processor industry is going is to add more and more cores, but nobody knows how to program those things. I mean, two, yeah; four, not really; eight, forget it.” – Steve Jobs © 2015 Texas Multicore Technologies, Inc. All Rights Reserved2 This shift now affects every software company, large enterprise, and government agency that develops software
3.
Current (Manual) Approach
to Multicore Programming 1. Be sure you identify truly independent computations. 2. Implement concurrency at the highest level possible. 3. Plan early for scalability to take advantage of increasing numbers of cores. 4. Make use of thread-safe libraries wherever possible. 5. Use the right threading model. 6. Never assume a particular order of execution. 7. Use thread-local storage whenever possible; associate locks to specific data, if needed. 8. Don’t be afraid to change the algorithm for a better chance of concurrency. 8 “Simple” Rules for Designing Threaded Applications (0. Hire team of “Parallel Ninjas”, PhD experts in computer architecture.) © 2015 Texas Multicore Technologies, Inc. All Rights Reserved3
4.
Current (Manual) Approach
to Multicore Programming 1. Be sure you identify truly independent computations. 2. Implement concurrency at the highest level possible. 3. Plan early for scalability to take advantage of increasing numbers of cores. 4. Make use of thread-safe libraries wherever possible. 5. Use the right threading model. 6. Never assume a particular order of execution. 7. Use thread-local storage whenever possible; associate locks to specific data, if needed. 8. Don’t be afraid to change the algorithm for a better chance of concurrency. 8 “Simple” Rules for Designing Threaded Applications (0. Hire team of “Parallel Ninjas”, PhD experts in computer architecture.) © 2015 Texas Multicore Technologies, Inc. All Rights Reserved4 “The significant problems we face cannot be solved using the same level of thinking we used when we created them.” -Albert Einstein
5.
“Parallel Ninja” Approach
Does Not Scale How do you: ─ find them? ─ afford them? ─ retain them? ─ support rapid innovation? ─ ensure accuracy and correctness? ─ keep them current on platform technologies? ─ do this for all your software? Einstein was right; There’s a much better way…. © 2015 Texas Multicore Technologies, Inc. All Rights Reserved5
6.
It’s Time to
Change the Game (Again) 6 Wiring Machine CodeWiring Machine Code Machine Code Assembly Language Netlist Netlist 1954 1957 1980 Machine Code HLL + Compiler (Fortran, COBOL, PL/I, Lisp, C,…) Machine Code Object Oriented (SmallTalk, C++, Java, C#,) 19491949 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
7.
It’s Time to
Change the Game (Again) 7 Wiring Machine CodeWiring Machine Code Machine Code Assembly Language Netlist Netlist 1954 1957 1980 Machine Code HLL + Compiler (Fortran, COBOL, PL/I, Lisp, C,…) Machine Code Object Oriented (SmallTalk, C++, Java, C#,) 19491949 2004: Multicore © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
8.
It’s Time to
Change the Game (Again) 8 Wiring Machine CodeWiring Machine Code Machine Code Assembly Language Netlist Netlist 1954 1957 1980 Machine Code HLL + Compiler (Fortran, COBOL, PL/I, Lisp, C,…) Machine Code Object Oriented (SmallTalk, C++, Java, C#,) 19491949 2014 Machine Code Object Oriented C++ Functional, Auto- Parallelizing Object Oriented C++ Functional, Auto- Parallelizing 2004: Multicore © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
9.
SequenceL is a
Game Changer © 2015 Texas Multicore Technologies, Inc. All Rights Reserved9 Faster Performance; Uses all cores, GPUs 10X Faster Time to Innovation/Market Get it Right the First Time Quickly Leverage New Computing Platforms Built Upon Open Industry Standards; Works with Existing Tools & Methodologies
10.
Customer Example: Industrial
Control Networking (WirelessHART, IEC 62591, IEEE 802.15.4) New algorithm, developed for large, noisy industrial process control environments ─ Presented white paper to IEEE ─ Won an award Asked TMT to implement for comparison purposes ─ Finished in SequenceL in 3 weeks 10X faster performance and right the first time ─ Java finished by the inventors in 3 months Had errors and much slower; used SequenceL code to debug Java Another month getting code correct A 5th month improving performance that still fell short Bottom line ─ SL was finished in 15% of the time ─ SL was correct the first time ─ SL out-performed the Java code 1.5x-3.0x on a 2 core AMD APU ─ Robust and fast code, fast time to market 10 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
11.
Customer Example: Video
Processing Using SequenceL Goal: 30Hz to keep up with input video feed Best performance (8 core x86 platform) ─ 58 Hz: SequenceL ─ 21 Hz: Matlab (Interpreter) ─ 1.2 Hz: Matlab (Coder/C-out) Input video feed (e.g.- Apache helicopter gyro camera) Processed video (Proprietary algorithms remove air turbulence, radiated heat, etc.) © 2015 Texas Multicore Technologies, Inc. All Rights Reserved11
12.
Customer Example: Video
Processing Using SequenceL Goal: 30Hz to keep up with input video feed Best performance (8 core x86 platform) ─ 58 Hz: SequenceL ─ 21 Hz: Matlab (Interpreter) ─ 1.2 Hz: Matlab (Coder/C-out) Input video feed (e.g.- Apache helicopter gyro camera) Processed video (Proprietary algorithms remove air turbulence, radiated heat, etc.) © 2015 Texas Multicore Technologies, Inc. All Rights Reserved12
13.
Customer Example: Video
Processing Using SequenceL Goal: 30Hz to keep up with input video feed Best performance (8 core x86 platform) ─ 58 Hz: SequenceL ─ 21 Hz: Matlab (Interpreter) ─ 1.2 Hz: Matlab (Coder/C-out) Input video feed (e.g.- Apache helicopter gyro camera) Processed video (Proprietary algorithms remove air turbulence, radiated heat, etc.) © 2015 Texas Multicore Technologies, Inc. All Rights Reserved13
14.
Customer Example: Video
Processing Using SequenceL Goal: 30Hz to keep up with input video feed Best performance (8 core x86 platform) ─ 58 Hz: SequenceL ─ 21 Hz: Matlab (Interpreter) ─ 1.2 Hz: Matlab (Coder/C-out) Input video feed (e.g.- Apache helicopter gyro camera) Processed video (Proprietary algorithms remove air turbulence, radiated heat, etc.) © 2015 Texas Multicore Technologies, Inc. All Rights Reserved14
15.
What is SequenceL? SequenceL
is a… High-Abstraction Functional Self-Parallelizing …programming language and tool set ….designed to work in concert with other popular programming languages and tools 15 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
16.
High-Abstraction, High Performance
Most common programming languages are imperative ─ Detailed sequence of commands for carrying out the computation; i.e.- tell the computer both “what” to do and “how” to do it ─ Inherently sequential, written for classic Von Neumann computers ─ e.g.- C/C++, Java, C#, Python, Fortran ─ Some add explicit “directives” to manually enable low-level parallelism SequenceL is declarative & functional – higher abstraction ─ Describe the desired output in terms of the input, as functions; i.e.- tell the computer only “what” to do, so no thinking about parallel ─ Abstracts away complex multicore and many-core platforms Best analogy is SQL database language ─ A programmer could write their own database procedures in low level C ─ But would be error-prone and not perform as well as with Oracle or DB2 16 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
17.
Drops Into Your
Current Design Flow Designed to work in concert with other programming languages, legacy code and libraries Additive: works with existing design flows, tools, and training Builds upon open industry standards 17 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
18.
Drops Into Your
Current Design Flow Adds a multicore “power tool” to the programmers toolbox Complete add-on solution ─ IDE plug-ins, debugger, interpreter, auto- parallelizing compiler, runtime environment Easy to modernize legacy applications ─ Parallel C++ output enables just a portion to be refactored in SequenceL and linked in ─ Uses Vector (SIMD) processor instructions ─ Automatic OpenCL generation averts the need to learn and incorporate low-level CUDA or OpenCL code and associated scaffolding to exploit systems with (GP)GPUs ─ Often faster to refactor portions of code in SequenceL than find and fix bugs in old code 18 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
19.
The Problem With
Directive-Based Programming Example: 3-body problem //P1 a1 = grav(P1, P2, m2) + grav(P1, P3, m3); dv1 = a1*dt; v1 = v1 + dv1; dp1 = v1*dt; //P2 a2 = grav(P2, P1, m1) + grav(P2, P3, m3); dv2 = a2*dt; v2 = v2 + dv2; dp2 = v2*dt; //P3 a3 = grav(P3, P2, m2) + grav(P3, P1, m1); dv3 = a3*dt; v3 = v3 + dv3; dp3 = v3*dt; 19 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
20.
The Problem With
Directive-Based Programming Example: 3-body problem //P1 a1 = grav(P1, P2, m2) + grav(P1, P3, m3); dv1 = a1*dt; v1 = v1 + dv1; dp1 = v1*dt; //P2 a2 = grav(P2, P1, m1) + grav(P2, P3, m3); dv2 = a2*dt; v2 = v2 + dv2; dp2 = v2*dt; //P3 a3 = grav(P3, P2, m2) + grav(P3, P1, m1); dv3 = a3*dt; v3 = v3 + dv3; dp3 = v3*dt; Each body can be calculated at the same time to give in theory a 3x speedup 20 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
21.
The Problem With
Directive-Based Programming Example: 3-body problem #pragma omp parallel #pragma omp single nowait { #pragma omp task { a1 = grav(P1, P2, m2) + grav(P1, P3, m3); dv1 = a1*dt; v1 = v1 + dv1; dp1 = v1*dt; } #pragma omp task { a2 = grav(P2, P1, m1) + grav(P2, P3, m3); dv2 = a2*dt; v2 = v2 + dv2; dp2 = v2*dt; } #pragma omp task { a3 = grav(P3, P2, m2) + grav(P3, P1, m1); dv3 = a3*dt; v3 = v3 + dv3; dp3 = v3*dt; } #pragma omp taskwait } Using directive-based approaches like OpenMP, the burden is on the programmer to identify where the program can be safely parallelized. Programmer then has to add the correct pragmas. 21 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
22.
The Problem With
Directive-Based Programming Example: 3-body problem #pragma omp parallel #pragma omp single nowait { #pragma omp task { a1 = grav(P1, P2, m2) + grav(P1, P3, m3); dv1 = a1*dt; v1 = v1 + dv1; dp1 = v1*dt; } #pragma omp task { a2 = grav(P2, P1, m1) + grav(P2, P3, m3); dv2 = a2*dt; v2 = v2 + dv2; dp2 = v2*dt; } #pragma omp task { a3 = grav(P3, P2, m2) + grav(P3, P1, m1); dv3 = a3*dt; v3 = v3 + dv3; dp3 = v3*dt; } #pragma omp taskwait } But maybe you could parallelize other things… 22 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
23.
The Problem With
Directive-Based Programming Example: 3-body problem #pragma omp parallel #pragma omp single nowait { #pragma omp task g1 = grav(P1, P2, m2); #pragma omp task g2 = grav(P1, P3, m3); #pragma omp task g3 = grav(P2, P1, m1); #pragma omp task g4 = grav(P2, P3, m3); #pragma omp task g5 = grav(P3, P2, m2); #pragma omp task g6 = grav(P3, P1, m1); #pragma omp taskwait } a1 = g1 + g2; dv1 = a1*dt; v1 = v1 + dv1; dp1 = v1*dt; a2 = g3 + g4; dv2 = a2*dt; v2 = v2 + dv2; dp2 = v2*dt; a3 = g5 + g6; dv3 = a3*dt; v3 = v3 + dv3; dp3 = v3*dt; But now you have to start re-arranging the code, moving further away from the original description of the algorithm Possible Race Conditions! If the grav function modifies its inputs or calls non thread-safe functions, there could be hard to detect race conditions, leading to incorrect results 23 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
24.
SequenceL: Self-Parallelizes, Race-Free,
Readable Example: 3-body problem threeBody(P1, m1, P2, m2, P3, m3, dt) := let a1 := grav(P1, P2, m2) + grav(P1, P2, m2); dv1 := a1*dt; v1 := v1 + dv1; dp1 := v1*dt; a2 := g3 = grav(P2, P1, m1) + grav(P2, P3, m3); dv2 := a2*dt; v2 := v2 + dv2; dp2 := v2*dt; a3 := grav(P3, P2, m2) + grav(P3, P1, m1); dv3 := a3*dt; v3 := v3 + dv3; dp3 := v3*dt; in [dp1, dp2, dp3]; With SequenceL the programmer does not add any parallel constructs or pragmas. The program will self-parallelize if safe to do so (No race conditions). Code clarity and intent remain, greatly improving correctness and quality. Subsequent enhancements and innovations are rapid. This ease of reading/writing is not by accident. 24 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
25.
Ease of Reading/Writing
SequenceL Matrix Multiply: ─ The product of an m×p matrix A with a p×n matrix B is an m×n matrix denoted AB whose entries are given by: 𝐴𝐵 𝑖𝑗 = 𝑘=1 𝑝 𝐴𝑖𝑘 𝐵 𝑘𝑗 25 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
26.
Ease of Reading/Writing
SequenceL Matrix Multiply in Java: 𝐴𝐵 𝑖𝑗 = 𝑘=1 𝑝 𝐴𝑖𝑘 𝐵 𝑘𝑗 26 © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
27.
Ease of Reading/Writing
SequenceL Matrix Multiply: ─ The product of an m×p matrix A with a p×n matrix B is an m×n matrix denoted AB whose entries are given by: 𝐴𝐵 𝑖𝑗 = 𝑘=1 𝑝 𝐴𝑖𝑘 𝐵 𝑘𝑗 27 - or - © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
28.
High-Abstraction, High Performance - 10 20 30 40 50 60 70 C++
Ref. 1 2 4 8 16 32 X Cores Matrix Multiply Acceleration Reference = sequential C++ 28 Parallel Matrix Multiply in SequenceL: © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
29.
Sample SequenceL Performance
Speedups 29 0.00 2.00 4.00 6.00 8.00 10.00 12.00 0 2 4 6 8 10 12 14 16 Matrix Multiply Game Of Life 2D FFT LU factorization QuickSort String Search Barnes-Hut n-Body Matrix Inverse Sparse Matrix Compression Adesk (DC) Adesk (LW) Matrix Multiply (blocking) Semblance Speech filter Perfect Number of Processor Cores TimesFaster © 2015 Texas Multicore Technologies, Inc. All Rights Reserved
30.
To learn more: Watch
an short 3-part video tutorial at: http://www.texasmulticoretechnologies.com/resources/videos/ Email: sales@texasmulticore.com for a free 45 day trial www.texasmulticore.com
Download now