Coconut: COde CONstructing User Tool resimleri fotoğrafları
Coconut:  COde CONstructing User Tool resimleri fotoğrafları

Resim Açıklaması

RatingRatingRatingRatingRating
11 Mart 2008 09:13:04
6155 Gösterim, 4 Yorum
Google Tech Talks
March, 7 2008

ABSTRACT

Coconut is a developing system for high-assurance, high-performance
software. It was used to develop a library of special functions for
the Cell BE processor, which is distributed in the Cell BE SDK 3.0 as
MASS. Average performance is 4X better than the alternative
hand-tuned C library, SimdMath.

Coconut has been successful where patterns of efficient
hardware-specific computation can be captured as higher-order
functions and encoded in a Domain Specific Language embedded in
Haskell. Patterns include efficient control structures not
expressible in C, e.g., the MultiLoop, and efficient uses of SIMD
instructions which require significant compile-time computation for
pattern specialization. Some patterns interact with a novel
instruction scheduler called Explicitly Staged Software Pipelining,
based on a min-cut approach, which outperforms SWING modulo scheduling
in our tests.

A less developed aspect of Coconut is the parallel production of
proofs of correctness along with executables. Current work aims to
prove only limited properties about programs---the ones most likely to
be broken---creative use of SIMD instructions, and parallelization.
Coconut intermediate code is represented as nested code (hyper)graphs.
At the lowest level, we transform acyclic loop bodies to remove the
effect of SIMDization, and produce machine and/or human readable
specifications. This has been used to verify opaque patterns of
optimizing linear algebra for SIMD processors.

Such code graphs are embedded in higher levels containing control
flow, first single-threaded control flow optimized for ILP, and then
parallel control-flow, optimized to hide communication latency. At
this level control flow is restricted to allow peak utilization of
multi-core hardware, but enable efficient compile-time verification of
soundness. Soundness, in this context, means that the parallelized
program can be transformed into a code graph without synchronizing
control flow, because every execution can be shown to produce the same
result. Think of it as reducing the parallel debugging effort to the
single-threaded debugging problem by eliminating the non-determinism
inherent in parallel code. I will give a formal language description
of the language, and the O(n) algorithm which proves soundness and
produces the equivalent ``single threaded'' code graph.

Speaker: Christopher Anand
Christopher Anand is a professor of Computing and Software at McMaster University. His main research areas are software correctness, high performance computation, and automatic code generation.

He has also founded the company Optimal Computational Algorithms to provide hardware-specific libraries for scientific applications on novel architectures.

Benzer Resimler

Advanced Topics in Programming Languages Series:... resimleri fotoğraflarıAdvanced Topics in Programming Languages Series:...

Reading Your Mind: Interfaces for Wearable Computing resimleri fotoğraflarıReading Your Mind: Interfaces for Wearable Computing

Building a Safer Web: Web Tripwires and a New Browser Architecture resimleri fotoğraflarıBuilding a Safer Web: Web Tripwires and a New Browser Architecture

Inversa de una matriz resimleri fotoğraflarıInversa de una matriz

Adaptive Algorithms for Online Optimization resimleri fotoğraflarıAdaptive Algorithms for Online Optimization

PHP Tutorial // User Registration w/ SQL resimleri fotoğraflarıPHP Tutorial // User Registration w/ SQL

Automated Testing Patterns and Smells resimleri fotoğraflarıAutomated Testing Patterns and Smells

New Techniques for Acquiring, Rendering, and Displaying Human Performances resimleri fotoğraflarıNew Techniques for Acquiring, Rendering, and Displaying Human Performances

State of the X Window resimleri fotoğraflarıState of the X Window

The future of materials: Advanced Ceramics resimleri fotoğraflarıThe future of materials: Advanced Ceramics

Enabling Object Search rather than Page Search resimleri fotoğraflarıEnabling Object Search rather than Page Search

No Time to Think resimleri fotoğraflarıNo Time to Think

The Sea and Cake - Coconut (music video) resimleri fotoğraflarıThe Sea and Cake - Coconut (music video)

Come and meet Super Creators from Japan resimleri fotoğraflarıCome and meet Super Creators from Japan

Rapid Prototyping of Ubiquitous Computing Applications: Tools & Frameworks resimleri fotoğraflarıRapid Prototyping of Ubiquitous Computing Applications: Tools & Frameworks

Cognitive Neuroscience of Mindfulness Meditation resimleri fotoğraflarıCognitive Neuroscience of Mindfulness Meditation

Human Aspects of Software Engineering: Social and Cognitive Perspectives resimleri fotoğraflarıHuman Aspects of Software Engineering: Social and Cognitive Perspectives

Robust Projected Clustering with P3C resimleri fotoğraflarıRobust Projected Clustering with P3C

Intel Core 2 Quad Q6600 Processor resimleri fotoğraflarıIntel Core 2 Quad Q6600 Processor

Speech Technologies and Platforms - Present and Future Evolutions resimleri fotoğraflarıSpeech Technologies and Platforms - Present and Future Evolutions

Scene Discovery by Matrix Factorization resimleri fotoğraflarıScene Discovery by Matrix Factorization

Google IPv6 Conference 2008:  IPv6, Nokia, and Google resimleri fotoğraflarıGoogle IPv6 Conference 2008: IPv6, Nokia, and Google

Happy Tree Friends -  Eyes Cold Lemonade resimleri fotoğraflarıHappy Tree Friends - Eyes Cold Lemonade

Story Driven Modeling with Fujaba: Turning Scenarios into Automated Tests resimleri fotoğraflarıStory Driven Modeling with Fujaba: Turning Scenarios into Automated Tests

First Look: Stem Cell Research (CBS News) resimleri fotoğraflarıFirst Look: Stem Cell Research (CBS News)

Our Future is Our History: Child-Rearing and the Roots of Violence resimleri fotoğraflarıOur Future is Our History: Child-Rearing and the Roots of Violence

Ruby Sig: How To Design A Domain Specific Language resimleri fotoğraflarıRuby Sig: How To Design A Domain Specific Language

Fulfilling the Promise of Micro-Philanthropy - a Web-Based Approach resimleri fotoğraflarıFulfilling the Promise of Micro-Philanthropy - a Web-Based Approach

"Explode" Original Song by Tay Zonday resimleri fotoğrafları"Explode" Original Song by Tay Zonday

Selenium User Meetup 2008: Lightning Talks resimleri fotoğraflarıSelenium User Meetup 2008: Lightning Talks

Movie/Script: Alignment and Parsing of Video and Text Transcription resimleri fotoğraflarıMovie/Script: Alignment and Parsing of Video and Text Transcription

Leona Lewis - Better In Time resimleri fotoğraflarıLeona Lewis - Better In Time

Aspect-Oriented Modeling - what it is and what it's good for resimleri fotoğraflarıAspect-Oriented Modeling - what it is and what it's good for

Lawrence* resimleri fotoğraflarıLawrence*

Predicting bugs in code changes using SCM information resimleri fotoğraflarıPredicting bugs in code changes using SCM information

CHOOSE YOUR PATH - The game where YOU control my fate! resimleri fotoğraflarıCHOOSE YOUR PATH - The game where YOU control my fate!

Jonas Brothers - Burnin' Up - Official Music Video (HQ) resimleri fotoğraflarıJonas Brothers - Burnin' Up - Official Music Video (HQ)

Happy Tree Friends - Happy Trails (Pt 2) resimleri fotoğraflarıHappy Tree Friends - Happy Trails (Pt 2)

Mondrian Code Review On The Web resimleri fotoğraflarıMondrian Code Review On The Web

Objects in Context resimleri fotoğraflarıObjects in Context

C++ Stylistics resimleri fotoğraflarıC++ Stylistics

LAPD at March 15 Hollywood Anonymous Scientology Protest resimleri fotoğraflarıLAPD at March 15 Hollywood Anonymous Scientology Protest

CGAL: The Open Source Computational Geometry Algorithms Library resimleri fotoğraflarıCGAL: The Open Source Computational Geometry Algorithms Library

los gatos se drogan resimleri fotoğraflarılos gatos se drogan

Ruby 1.9 resimleri fotoğraflarıRuby 1.9

YOUTUBE HACK:  How to watch OLDER VIDEOS in Higher Quality on YouTube! resimleri fotoğraflarıYOUTUBE HACK: How to watch OLDER VIDEOS in Higher Quality on YouTube!

Tangible Functional Programming resimleri fotoğraflarıTangible Functional Programming

JRuby: The power of Java and Ruby resimleri fotoğraflarıJRuby: The power of Java and Ruby

RickRoll'D resimleri fotoğraflarıRickRoll'D

Urban Reconstruction and Modeling for Building Virtual Worlds resimleri fotoğraflarıUrban Reconstruction and Modeling for Building Virtual Worlds

Bu Resime Yapılan Yorumlar (4)

Dhonigk

Fuck you

edorebel12h

good job on this video! my names Mackenzie, kinda feelin bored if any1 wants to join me on cam or wana chat i will be signed on at __ PLAY-CAM...dot...COM __ my user ID there is Mackenzie_oudyekfrlya chat soon xx its FR33 to j0in! mwah

lispified

well, higher order functions do have a tendency to make you a little excited and gassy.

stonerj0e

1:34 HE FARTED!!! LMAO!!!