simd: How to Express Inherent Parallelism Efficiently Via Data-Parallel Types+23 ## : ## MATTHIAS KRETZ # std::�md how to express inherent parallelism efficiently via data-parallel types Dr. Matthias Kretz GSI Helmholtz Center for Heavy Ion Research CppCon'23 ## Goals and single-precision multiply-add Linux, GCC 13, Intel Xeon W-2145 (2 AVX-512 FMA ports) float x = 0.f; A data-parallel type wider than the default can increase ILP! $ \frac{64}{0.25} = 256 $ times faster ## single-precision -DNDEBUG|g++ -O3 -DNDEBUG -march=native| |---|---|---| |scalar data-parallel|0.25 FLOP/cycle 8 FLOP/cycle|0.5 FLOP/cycle 64 FLOP/cycle| A data-parallel type wider than the default can increase ILP! ##0 码力 | 160 页 | 8.82 MB | 1 年前3
Session Types in C++## +24 ## Session Types in C++: A Programmer's Journey ## MIODRAG MISHA DJUKIC ## About me Faculty of Technical Sciences, University of Novi Sad, Serbia Teaching... a lot... Background in compilers never gives a thought about types. That is something which he has tough of and learned as a child. I, on the contrary, developed so slowly that I did not begin to wonder about types until I was an adult." never gives a thought about types. That is something which he has tough of and learned as a child. I, on the contrary, developed so slowly that I did not begin to wonder about types until I was an adult."0 码力 | 89 页 | 1.55 MB | 1 年前3
Back to Basics: Algebraic Data Types## Back to Basics: Algebraic Data Types I also do C++ training! arthur.j.odwyer@gmail.com ## Outline - Why the name “algebraic data types”? [3–18] o Memory layout diagrams. Why not std::any? • Quick [50–56] Questions? • More about pair and tuple [57–69] Questions? ## What do I mean by algebraic types? pair C++98. The original algebraic data type. tuple C++11. optional C++17. variant C++17 possible values| ## Pair and tuple are product types To find the size of the domain of a pair or tuple type, we take the product of the sizes of its element types. |A|A possible values| |---|---| |pair<A0 码力 | 73 页 | 267.05 KB | 1 年前3
LITERALS SAFELY for Types that Behave as though Built-in - Pablo Halpern - CppCon 2021## EMBRACING USER DEFINED LITERALS SAFELY ## for Types that Behave as though Built-in Pablo Halpern phalpern@halpernwightsoftware.com CppCon 2021 ## literal [ lit-er-uhl ] ## adjective 1. in accordance KHLEBNIKOV | ALISDAIR MEREDITH ## Talks in this series: ■ Embracing User Defined Literals Safely for Types that Behave as though Built-in - Pablo Halpern, Tuesday 9am  ■ Embracing (and also destroying) Variant Types Safely - Andrei Alexandrescu, Thursday 9am Embracing PODs Safely Until They Die – Alisdair Meredith &0 码力 | 66 页 | 1.47 MB | 1 年前3
The Swift Programming Languagefollowing its name with a list of arguments in parentheses. Use -> to separate the parameter names and types from the function's return type. func greet(name: String, day: String) -> String { return Enumerations and Structures Use enum to create an enumeration. Like classes and all other named types, enumerations can have methods associated with them. enum Rank: Int { case Ace = 1 case Two just like any other named type—for example, to create a collection of objects that have different types but that all conform to a single protocol. When you work with values whose type is a protocol type0 码力 | 525 页 | 4.68 MB | 2 年前3
The Idris Tutorial Version 0.9.183 Types and Functions 7 3.1 Primitive Types 7 3.2 Data Types 8 3.3 Functions 8 3.4 Dependent Types 10 3.5 I/O 12 3.6 "do" notation 13 3.7 Laziness 13 3.8 Useful Data Types 14 conventional programming languages, there is a clear distinction between types and values. For example, in Haskell, the following are types, representing integers, characters, lists of characters, and lists inhabitants of those types: • 42, 'a', Hello world!, [2, 3, 4, 5, 6] In a language with dependent types, however, the distinction is less clear. Dependent types allow types to “depend” on values0 码力 | 69 页 | 316.20 KB | 2 年前3
COMPOSABLE C++## BEN DEANE / @ben_deane CPPCON 2021 ## I N THIS TALK 1. Composability defined 2. Composable types 3. Objects and patterns 4. Composability at compile time 5. Hierarchies and computation ## COMPOSABLE _composably() -> int; Spoiler: bool and int are in some sense the only two composable return types we need... ## WHY int? Of course, int can represent N (32?) bools, using bitand (&) and bitor COMPOSABILITY FROM PRINCIPLES At the core, steering behaviours is based on the composability of arithmetic types. A single function returns a force that can be accumulated and applied. The resulting framework0 码力 | 124 页 | 8.28 MB | 1 年前3
The C Handbook
me on Twitter @flaviocopes. Enjoy! ## The C Handbook • 1. Introduction to C • 2. Variables and types • 2.1. Integer numbers • 2.2. Unsigned integers • 2.3. The problem with overflow Variables scope • 13. Static variables • 14. Global variables • 15. Type definitions • 16. Enumerated Types • 17. Structures • 18. Command line parameters • 19. Header files • 20. The preprocessor ☐ 20 this good for embedded devices that have a very limited amount of resources. ### 2. Variables and types C is a statically typed language. This means that any variable has an associated type, and this0 码力 | 60 页 | 908.68 KB | 2 年前3
The Idris Tutorial Version 1.3.4jpg) The Idris Tutorial Version 1.3.3 ## Contents 1 Introduction 2 2 Getting Started 3 3 Types and Functions 5 4 Interfaces 22 5 Modules and Namespaces 31 6 Packages 35 7 Example: The Well-Typed conventional programming languages, there is a clear distinction between types and values. For example, in Haskell, the following are types, representing integers, characters, lists of characters, and lists inhabitants of those types: • 42, 'a', "Hello world!", [2,3,4,5,6] In a language with dependent types, however, the distinction is less clear. Dependent types allow types to “depend” on values0 码力 | 66 页 | 627.66 KB | 2 年前3
PostGIS 3.6 fr dev Manuald’index géométriques 68 6.3 Eviter les conversions de dimension 68 7 Référence PostGIS 70 7.1 Types de données PostGIS Geometry/Geography/Box 70 7.1.1 box2d 70 7.1.2 box3d 71 7.1.3 geometry 71 7 CG_ApproxConvexPartition 512 8. 3.19 ST_ApproximateMedialAxis . . . . . 9 Topologie 550 9.1 Les types associés à "Topology" 550 9.1.1 getfaceedges_returntype 550 9.1.2 TopoGeometry 551 9.1 ------ Name | postgis_raster Version | 3.0.0dev Schema | public Description | PostGIS raster types and functions -[ RECORD 3 ]---------------------------------------------------- Name | postgis_tiger_geocoder0 码力 | 961 页 | 5.49 MB | 5 月前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
SIMDdata-parallel typesvectorizationparallelismstd::simdSession TypesC++Binary Session TypesProtocolInteraction代数数据类型pairtupleoptionalvariant用户定义字面量内置类型字面量操作符C++17类型行为Swiftnamed typescompound typesoptional typestype annotationIdrisdependent typestypesfunctionsmodulespackagescomposabilitycomposable typescomputationreturn typeshierarchiesVariables and typesControl structuresArraysPointersFunctionsinteractive environmentPostGISPostgreSQLspatial databasegeometry typesextensions













