From e566a2b2379c98c4e4f77a89c58d242c0612ec3e Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Mon, 9 Sep 2024 16:30:55 +0300 Subject: [PATCH 01/15] ARM Learning path for simd.info initial commit --- .../cross-platform/simd-info-demo/_index.md | 35 +++++++++ .../simd-info-demo/_next-steps.md | 27 +++++++ .../cross-platform/simd-info-demo/_review.md | 45 +++++++++++ .../simd-info-demo/example-picture.png | Bin 0 -> 63167 bytes .../cross-platform/simd-info-demo/how-to-1.md | 14 ++++ .../cross-platform/simd-info-demo/how-to-2.md | 74 ++++++++++++++++++ .../cross-platform/simd-info-demo/how-to-3.md | 10 +++ .../cross-platform/simd-info-demo/how-to-4.md | 10 +++ .../cross-platform/simd-info-demo/how-to-5.md | 10 +++ .../simd-info-demo/intrinsic-tree-2.png | Bin 0 -> 21678 bytes .../simd-info-demo/intrinsic-tree.png | Bin 0 -> 245198 bytes .../simd-info-demo/search-engine.png | Bin 0 -> 65487 bytes 12 files changed, 225 insertions(+) create mode 100644 content/learning-paths/cross-platform/simd-info-demo/_index.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/_next-steps.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/_review.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/example-picture.png create mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-1.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-2.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-3.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-4.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-5.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/intrinsic-tree-2.png create mode 100644 content/learning-paths/cross-platform/simd-info-demo/intrinsic-tree.png create mode 100644 content/learning-paths/cross-platform/simd-info-demo/search-engine.png diff --git a/content/learning-paths/cross-platform/simd-info-demo/_index.md b/content/learning-paths/cross-platform/simd-info-demo/_index.md new file mode 100644 index 0000000000..28ef8b8486 --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/_index.md @@ -0,0 +1,35 @@ +--- +title: SIMD.info Tool Demonstration + +minutes_to_complete: 30 + +who_is_this_for: This is for software developers and engineers looking to understand SIMD code portability across platforms, specifically between Intel and ARM architectures. + +learning_objectives: + - Understand the challenges of porting SIMD code from one platform to another. + - Learn how to use SIMD.info’s tools and features, such as navigation, search, and comparison, to simplify the process of finding equivalent SIMD instructions and improving code portability. + +prerequisites: + - A basic understanding of SIMD instructions and how they are used in parallel processing. + - Access to platform-based systems, such as ARM, Intel, or Power, with recent versions of a C compiler (Clang or GCC) installed. + +author_primary: Konstantinos Margaritis & Georgios Mermigkis, VectorCamp + +### Tags +skilllevels: Advanced +subjects: Platform Porting +armips: + - PLACEHOLDER IP A + - PLACEHOLDER IP B +tools_software_languages: + - PLACEHOLDER TOOL OR SOFTWARE C + - PLACEHOLDER TOOL OR SOFTWARE D +operatingsystems: + - Linux + +### FIXED, DO NOT MODIFY +# ================================================================================ +weight: 1 # _index.md always has weight of 1 to order correctly +layout: "learningpathall" # All files under learning paths have this same wrapper +learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. +--- diff --git a/content/learning-paths/cross-platform/simd-info-demo/_next-steps.md b/content/learning-paths/cross-platform/simd-info-demo/_next-steps.md new file mode 100644 index 0000000000..c4ae77cc92 --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/_next-steps.md @@ -0,0 +1,27 @@ +--- +next_step_guidance: PLACEHOLDER TEXT 1 + +recommended_path: /learning-paths/PLACEHOLDER_CATEGORY/PLACEHOLDER_LEARNING_PATH/ + +further_reading: + - resource: + title: PLACEHOLDER MANUAL + link: PLACEHOLDER MANUAL LINK + type: documentation + - resource: + title: PLACEHOLDER BLOG + link: PLACEHOLDER BLOG LINK + type: blog + - resource: + title: PLACEHOLDER GENERAL WEBSITE + link: PLACEHOLDER GENERAL WEBSITE LINK + type: website + + +# ================================================================================ +# FIXED, DO NOT MODIFY +# ================================================================================ +weight: 21 # set to always be larger than the content in this path, and one more than 'review' +title: "Next Steps" # Always the same +layout: "learningpathall" # All files under learning paths have this same wrapper +--- diff --git a/content/learning-paths/cross-platform/simd-info-demo/_review.md b/content/learning-paths/cross-platform/simd-info-demo/_review.md new file mode 100644 index 0000000000..9b1bfb96fe --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/_review.md @@ -0,0 +1,45 @@ +--- +review: + - questions: + question: > + PLACEHOLDER QUESTION 1? + answers: + - PLACEHOLDER ANSWER A + - PLACEHOLDER ANSWER B + correct_answer: 1 + explanation: > + PLACEHOLDER EXPLANATION 1 + + - questions: + question: > + PLACEHOLDER QUESTION 2? + answers: + - PLACEHOLDER ANSWER A + - PLACEHOLDER ANSWER B + - PLACEHOLDER ANSWER C + - PLACEHOLDER ANSWER D + correct_answer: 4 + explanation: > + PLACEHOLDER EXPLANATION 2 + + - questions: + question: > + PLACEHOLDER QUESTION 3? + answers: + - PLACEHOLDER ANSWER A + - PLACEHOLDER ANSWER B + - PLACEHOLDER ANSWER C + - PLACEHOLDER ANSWER D + correct_answer: 2 + explanation: > + PLACEHOLDER EXPLANATION 3 + + + +# ================================================================================ +# FIXED, DO NOT MODIFY +# ================================================================================ +title: "Review" # Always the same title +weight: 20 # Set to always be larger than the content in this path +layout: "learningpathall" # All files under learning paths have this same wrapper +--- diff --git a/content/learning-paths/cross-platform/simd-info-demo/example-picture.png b/content/learning-paths/cross-platform/simd-info-demo/example-picture.png new file mode 100644 index 0000000000000000000000000000000000000000..c69844bed44b65c7f5bc6cf511f93987fdcd7b95 GIT binary patch literal 63167 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 q-Mv3pxc`&l*gyNt{xlEs;Qs>q{#983 literal 0 HcmV?d00001 diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md new file mode 100644 index 0000000000..0150997a18 --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md @@ -0,0 +1,14 @@ +--- +title: Overview & Context +weight: 2 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +### 1.1. Introduction to SIMD.info and VectorCamp + +### 1.2. The Challenge of SIMD Code Portability +One of the biggest challenges developers face when working with SIMD code is making it portable across different platforms. SIMD instructions are designed to speed up operations by performing the same action on multiple data points in parallel. However, each architecture (like Intel, ARM, or PowerPC) has its own set of SIMD instructions, making it difficult to write code that works on all of them without major changes. + +When you're developing for Intel, for example, you might use specific instructions like SSE or AVX. But when you try to run that same code on ARM's NEON, the differences in instruction sets and data handling require careful attention. This lack of portability increases development time and introduces the risk of errors during the porting process. Tools like SIMD.info aim to solve this by helping you find equivalent instructions and providing a more streamlined way to adapt your code for different architectures. diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md new file mode 100644 index 0000000000..34e77e47af --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md @@ -0,0 +1,74 @@ +--- +title: SIMD.info Features +weight: 3 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +### 2.1. Comprehensive SIMD.info Capabilities +[SIMD.info](https://simd.info/) offers a variety of powerful tools to help developers work more efficiently with SIMD code across different architectures. With a database of over 12,000 intrinsics, it provides detailed information to support effective SIMD development. +For each intrinsic (instruction), SIMD.info provides comprehensive details, including: + +1. **Purpose**: A brief description of what the intrinsic does and its primary use case. +2. **Result**: Explanation of the output or result of the intrinsic. +3. **Example**: A code snippet demonstrating how to use the intrinsic. +4. **Prototypes**: Function prototypes for different programming languages (e.g., C/C++). +5. **Assembly Instruction**: The corresponding assembly language instruction for the intrinsic. +6. **Notes**: Any additional notes or caveats about the intrinsic. +7. **Architecture**: List of architectures that support the intrinsic (e.g., Intel, ARM, Power). +8. **Link to Official Documentation**: A link to the official documentation for further details. + +This detailed information ensures you have all the necessary resources to effectively use and port SIMD instructions across different platforms. Each feature is designed to simplify navigation, improve the search for equivalent instructions, and foster a collaborative environment for knowledge-sharing. + +- **Tree-based navigation:** SIMD.info uses a clear, hierarchical layout to organize instructions. It categorizes instructions into broad groups like Arithmetic, which are further divided into specific subcategories such as Vector Add and Vector Subtract. This organized structure makes it straightforward to browse through SIMD instruction sets across various platforms, allowing you to efficiently find and access the exact instructions you need. For example, this is how the tree structure might look: + + - **Arithmetic** + - **Arithmetic (Complex Numbers)** + - **Boolean Logic & Bit Manipulation** + - **Boolean AND** + - **Boolean AND NOT** + - **Boolean AND NOT 128-bit vector** + - **Boolean AND NOT 16-bit signed integers** + - **Boolean AND NOT 16-bit unsigned integers** + - **Boolean AND NOT 256-bit vector** + - **Boolean AND NOT 32-bit floats** + - **Boolean AND NOT 32-bit signed integers** + - AVX512: mm512_andnot_epi32 + - NEON: vbic_s32 + - NEON: vbicq_s32 + - VSX: vec_andc + - **Bit Clear** + - **XOR** + +- **Advanced search functionality:** With its robust search engine, SIMD.info allows you to either search for a specific intrinsic (e.g. vadd_p64) or enter more general terms (e.g. How to add 2 vectors), and it will return the corresponding intrinsics. Whether you’re looking for Intel, ARM, or Power equivalents, this functionality streamlines the process of finding the right commands for your project. + +- **Comparison tools:** This feature lets you directly compare SIMD instructions from different platforms side by side, offering a clear view of the similarities and differences. It’s an invaluable tool for porting code across architectures, as it ensures accuracy and efficiency. + +- **Discussion forum (Stack Overflow-type):** The integrated discussion forum allows users to ask questions, share insights, and troubleshoot problems together. This community-driven space ensures that you’re never stuck on a complex issue without support. + +### 2.2 Work in Progress & Future Development +- **Sudo-code:** Currently under development, the Sudo-code feature will enable users to generate high-level pseudo-code based on specific SIMD instructions. This tool aims to make writing and understanding SIMD code even easier. + +- **[SIMD.ai](https://simd.ai/):** SIMD.ai is an upcoming feature that promises to bring AI-assisted insights and recommendations to the SIMD development process, making it faster and more efficient to write and port SIMD code. + + +### 2.3. How These Features Aid in SIMD Development +SIMD.info offers a range of features that streamline the process of porting SIMD code across different architectures. The hierarchical structure of tree-based navigation allows you to easily locate instructions within a clear framework. This organization into broad categories and specific subcategories, such as Arithmetic and Boolean Logic, makes it straightforward to identify the relevant SIMD instructions needed for your project. + +When you need to port code from one architecture to another, the advanced search functionality proves invaluable. You can either search for specific intrinsics or use broader terms to find equivalent instructions across platforms. This capability ensures you quickly find the right commands for Intel, ARM, or Power architectures, facilitating a smoother transition between different SIMD environments. + +Furthermore, SIMD.info’s comparison tools enhance this process by enabling side-by-side comparisons of instructions from various platforms. This feature highlights the similarities and differences between instructions, which is crucial for accurately adapting your code. By understanding how similar operations are implemented across architectures, you can ensure that your ported code performs optimally. + +Additionally, the discussion forum provides a space where you can seek advice and share insights with other developers. This collaborative environment is especially useful for troubleshooting issues and gaining practical tips for effective code porting. + +Overall, SIMD.info equips you with the tools needed to efficiently port SIMD code, making it easier to adapt and optimize your software across different architectures. + + + + + + + + diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-3.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-3.md new file mode 100644 index 0000000000..26d3964e10 --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-3.md @@ -0,0 +1,10 @@ +--- +title: Example Setup +weight: 4 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## PLACEHOLDER HEADER +YOUR CONTENT GOES HERE diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md new file mode 100644 index 0000000000..6106e48767 --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md @@ -0,0 +1,10 @@ +--- +title: Porting Process +weight: 5 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## PLACEHOLDER HEADER +YOUR CONTENT GOES HERE diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md new file mode 100644 index 0000000000..b4220d24d1 --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md @@ -0,0 +1,10 @@ +--- +title: Verification & Conclusion +weight: 6 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## PLACEHOLDER HEADER +YOUR CONTENT GOES HERE diff --git a/content/learning-paths/cross-platform/simd-info-demo/intrinsic-tree-2.png b/content/learning-paths/cross-platform/simd-info-demo/intrinsic-tree-2.png new file mode 100644 index 0000000000000000000000000000000000000000..78d67be7c76e68af0daacc0c77bf64a36cf5f142 GIT binary patch literal 21678 zcmV)zK#{+RP)00D9c0{{R3G~w8N0001@P)t-s_4fJj z@$(uTAQl-M`}_U*`uzR<{{R2~_xSq${{Qs#_2J^pWLq$0}Ki%El>g(&~=I8hK z_wDZQPf=4=SXFETXD&CmP#`NG4* zZEtb1v$TbWh>nksl$MueXK9+1jAwz|@>|LxeQ zzMy#FR(}8hAOJ~3K~#9!?45~rqqq`=4Z>#Mcgz}gj(GpqyIKI_B|VOBPq!ygC9z2X zGKWvUR3$0oATs-Lc3`)FL1)IGGh@(Kb2$0QBW2EEH~Af*2SrgtUpc87z2P~Q&ftyJ z^93KL;?`ou=wE>z0RZw(_6x{veTokNd=5qg0q~WluSU_pt#ypizXP4;LGgIETQp67 z15LJcz=Qdz;%8K}Zhaj(kIrMz{}Oby1VFomCUl5o@Ko`E&hwq{e5{ar#7acnpqn#e z^v9ta51@-&I|WacA5Jazl?YKG)*$F-iEJJjqdyJZ#?akAepNYwo-#Op0=iw-wIy2d z)DMwOkk=_{-i@|S98s$3Iuz}+pExn7>jZW5TvFGj=p=LBr{CjJ+dY}EBF3{;`nCI^NK?;v%bc%V}wMEn;GnB7EA0UKjtU(+|Y3+$P zP(;N;Xau6ILpatN56VDnh)1kS$aldAQOv~~0}c1wUdJIAU(!r1K!?!8fSWXOV42mY zCGRWAkw$;leaIK+NeN-m8YqZBy@a(CZWQWTk?uUqz6QNVcW*3d@C?d`I!G7|0}|5d zIJid8NAwyZAUGeR@iq@=yyiA*)C~-r)CK5}hS0g}C}%9o#8`jlN9%K?vQa3Nq@$o3kHt_Lff{K_B z1eg^$IuB^}1^P!$^yuTb9F#Sx9Uj^+nu1ia{ufGzxCWw+^%Vz&cK~{$k6ggV6-62M z9+%O4rFqBqSBosyEHM07blec@JFr}VKnJi7R8x|7&_Ow=u07+OD5G{f#C&$J1QFx( z0=-4=urL)a9ML(MBG$;Eg|a9__!F$plrCfF=rc@J6;p`g3s+ET4ecJ#-ZPIq+~S!S z&DWF;O41c88QL7yl+9f-c6z4~lM8gf(>!`WMfe}6<0tL#(iis|^bah_oQ7hkKY$?_ zwV?v0ZV^03 z#A9_7gA;_|rFjoZ5)06x4MUHSNKq{zDS{P-q4F!G1C3ihBKufVIshvaNCGe}BR{C= zhatoHTA#kOk$B8Jzk}{6chDPp(=B|QA_`d1Wf7ZeUbaAw(c8ETvwT>VGU)3RW=DV)cx?S*dkB9cyi>47|z%F^fPtW525=XchHwX9aksNaWhL2IKPW= zrywuTv97zjpGS?&+~Mm^!&6mJ}9W%UQqR%F29ghHe&mt($oJBx)^&)5(T|j z-jqHsA;Nwrw=dTeuCRZtbP63`-G2J5zw-Ra(A%;sY4(khH(+eg9hCPk^Xe`hzo~=~mP>a2py_|8 zbk5t>>o|E?8Wr)BI}c0Qevi^^oOstyL&s_~@PvwRrt75E5jiY;*xRyTHaJ1 `( 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 z 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

i68s<5d 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

IHEs?WpOpe{L%3OI);r3G= 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 literal 0 HcmV?d00001 diff --git a/content/learning-paths/cross-platform/simd-info-demo/search-engine.png b/content/learning-paths/cross-platform/simd-info-demo/search-engine.png new file mode 100644 index 0000000000000000000000000000000000000000..5e265e8ec1f710601ca4204a000420bf6eef824a GIT binary patch literal 65487 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 Date: Tue, 10 Sep 2024 17:22:04 +0300 Subject: [PATCH 02/15] Completed pages 2-5 --- .../cross-platform/simd-info-demo/_index.md | 7 +- .../cross-platform/simd-info-demo/how-to-1.md | 4 +- .../cross-platform/simd-info-demo/how-to-2.md | 6 +- .../cross-platform/simd-info-demo/how-to-3.md | 70 ++++++++++++++++- .../cross-platform/simd-info-demo/how-to-4.md | 28 ++++++- .../cross-platform/simd-info-demo/how-to-5.md | 75 ++++++++++++++++++- 6 files changed, 176 insertions(+), 14 deletions(-) diff --git a/content/learning-paths/cross-platform/simd-info-demo/_index.md b/content/learning-paths/cross-platform/simd-info-demo/_index.md index 28ef8b8486..76bb864ff0 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/_index.md +++ b/content/learning-paths/cross-platform/simd-info-demo/_index.md @@ -3,7 +3,7 @@ title: SIMD.info Tool Demonstration minutes_to_complete: 30 -who_is_this_for: This is for software developers and engineers looking to understand SIMD code portability across platforms, specifically between Intel and ARM architectures. +who_is_this_for: This is for software developers and engineers looking to understand SIMD code portability across platforms, specifically between Intel, ARM & PowerPC architectures. learning_objectives: - Understand the challenges of porting SIMD code from one platform to another. @@ -22,8 +22,9 @@ armips: - PLACEHOLDER IP A - PLACEHOLDER IP B tools_software_languages: - - PLACEHOLDER TOOL OR SOFTWARE C - - PLACEHOLDER TOOL OR SOFTWARE D + - GCC + - SIMD + - CODING operatingsystems: - Linux diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md index 0150997a18..99a0873c0e 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md @@ -6,9 +6,9 @@ weight: 2 layout: learningpathall --- -### 1.1. Introduction to SIMD.info and VectorCamp +### Introduction to SIMD.info and VectorCamp -### 1.2. The Challenge of SIMD Code Portability +### The Challenge of SIMD Code Portability One of the biggest challenges developers face when working with SIMD code is making it portable across different platforms. SIMD instructions are designed to speed up operations by performing the same action on multiple data points in parallel. However, each architecture (like Intel, ARM, or PowerPC) has its own set of SIMD instructions, making it difficult to write code that works on all of them without major changes. When you're developing for Intel, for example, you might use specific instructions like SSE or AVX. But when you try to run that same code on ARM's NEON, the differences in instruction sets and data handling require careful attention. This lack of portability increases development time and introduces the risk of errors during the porting process. Tools like SIMD.info aim to solve this by helping you find equivalent instructions and providing a more streamlined way to adapt your code for different architectures. diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md index 34e77e47af..6ef713a732 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md @@ -6,7 +6,7 @@ weight: 3 layout: learningpathall --- -### 2.1. Comprehensive SIMD.info Capabilities +### Comprehensive SIMD.info Capabilities [SIMD.info](https://simd.info/) offers a variety of powerful tools to help developers work more efficiently with SIMD code across different architectures. With a database of over 12,000 intrinsics, it provides detailed information to support effective SIMD development. For each intrinsic (instruction), SIMD.info provides comprehensive details, including: @@ -47,13 +47,13 @@ This detailed information ensures you have all the necessary resources to effect - **Discussion forum (Stack Overflow-type):** The integrated discussion forum allows users to ask questions, share insights, and troubleshoot problems together. This community-driven space ensures that you’re never stuck on a complex issue without support. -### 2.2 Work in Progress & Future Development +### Work in Progress & Future Development - **Sudo-code:** Currently under development, the Sudo-code feature will enable users to generate high-level pseudo-code based on specific SIMD instructions. This tool aims to make writing and understanding SIMD code even easier. - **[SIMD.ai](https://simd.ai/):** SIMD.ai is an upcoming feature that promises to bring AI-assisted insights and recommendations to the SIMD development process, making it faster and more efficient to write and port SIMD code. -### 2.3. How These Features Aid in SIMD Development +### How These Features Aid in SIMD Development SIMD.info offers a range of features that streamline the process of porting SIMD code across different architectures. The hierarchical structure of tree-based navigation allows you to easily locate instructions within a clear framework. This organization into broad categories and specific subcategories, such as Arithmetic and Boolean Logic, makes it straightforward to identify the relevant SIMD instructions needed for your project. When you need to port code from one architecture to another, the advanced search functionality proves invaluable. You can either search for specific intrinsics or use broader terms to find equivalent instructions across platforms. This capability ensures you quickly find the right commands for Intel, ARM, or Power architectures, facilitating a smoother transition between different SIMD environments. diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-3.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-3.md index 26d3964e10..b2aaa58783 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-3.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-3.md @@ -6,5 +6,71 @@ weight: 4 layout: learningpathall --- -## PLACEHOLDER HEADER -YOUR CONTENT GOES HERE +### Introducing the Example Code +We start with an example that uses Intel SIMD (SSE4.2) intrinsics. Create a file named calculation_sse.c with the contents shown below. The program first compares whether elements in one vector are greater than those in another vector, prints the result, and then proceeds to compute the addition of two vectors, multiplies the result with one of the vectors, and finally takes the square root of the multiplication result: + +```C +#include +#include + +int main() { + __m128 a = _mm_set_ps(16.0f, 9.0f, 4.0f, 1.0f); + __m128 b = _mm_set_ps(4.0f, 3.0f, 2.0f, 1.0f); + + __m128 cmp_result = _mm_cmpgt_ps(a, b); + + float a_arr[4], b_arr[4], cmp_arr[4]; + _mm_storeu_ps(a_arr, a); + _mm_storeu_ps(b_arr, b); + _mm_storeu_ps(cmp_arr, cmp_result); + + for (int i = 0; i < 4; i++) { + if (cmp_arr[i] != 0.0f) { + printf("Element %d: %.2f is larger than %.2f\n", i, a_arr[i], b_arr[i]); + } else { + printf("Element %d: %.2f is not larger than %.2f\n", i, a_arr[i], b_arr[i]); + } + } + + __m128 add_result = _mm_add_ps(a, b); + __m128 mul_result = _mm_mul_ps(add_result, b); + __m128 sqrt_result = _mm_sqrt_ps(mul_result); + + float res[4]; + + _mm_storeu_ps(res, add_result); + printf("Addition Result: %f %f %f %f\n", res[0], res[1], res[2], res[3]); + + _mm_storeu_ps(res, mul_result); + printf("Multiplication Result: %f %f %f %f\n", res[0], res[1], res[2], res[3]); + + _mm_storeu_ps(res, sqrt_result); + printf("Square Root Result: %f %f %f %f\n", res[0], res[1], res[2], res[3]); + + return 0; +} +``` + +Compile the code as follows using a machine that supports SSE-Vector-Extension: +```bash +gcc -O3 calculation_sse.c -o calculation_sse -march=native +``` + +Now run the program: +```bash +./calculation_sse +``` + +The output should look like: +```output +Element 0: 1.00 is not larger than 1.00 +Element 1: 4.00 is larger than 2.00 +Element 2: 9.00 is larger than 3.00 +Element 3: 16.00 is larger than 4.00 + +Addition Result: 2.00 6.00 12.00 20.00 +Multiplication Result: 2.00 12.00 36.00 80.00 +Square Root Result: 1.41 3.46 6.00 8.94 +``` + +The reason you run the code first is to make sure you understand how it works and how the results are being produced. If you don't get this right, switching to another engine like NEON won’t help, as the primary concern is that the results should remain the same. diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md index 6106e48767..329f9c52c9 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md @@ -6,5 +6,29 @@ weight: 5 layout: learningpathall --- -## PLACEHOLDER HEADER -YOUR CONTENT GOES HERE +## Using SIMD.info to Find NEON Equivalents +Now that you have a clear view of the example, you can start the process of porting the code to NEON. This is where [SIMD.info](https://simd.info/) comes in. In SIMD programming, the primary concern is usually the calculations, as they constitute the core workload of the program. Ensuring that these calculations are correctly ported and optimized is crucial for maintaining performance and correctness. + +For the operations in your SSE4.2 example, you have the following intrinsics: + +- **_mm_cmpgt_ps** +- **_mm_add_ps** +- **_mm_mul_ps** +- **_mm_sqrt_ps** + +To gain a deeper understanding of how these intrinsics work and to get detailed descriptions, you can use the search feature on SIMD.info. Simply enter the intrinsic's name into the search bar. You can either select from the suggested results or perform a direct search to find detailed information about each intrinsic. + +1. By searching [_mm_add_ps](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/SSE4.2_c__mm_add_ps.yaml/) you get information about it's purpose, result-type, assembly instruction, prototype and an example about it. By clicking the **engine** option **"NEON"** you can find it's [equivalents](https://staging.simd.info/eq/var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/SSE4.2_c__mm_add_ps.yaml/NEON/) for this engine. The equivalents are: **vaddq_f32**, **vadd_f32**. Now you are trying to choose which one to use. [Intrinsic comparison](https://staging.simd.info/c-intrinsics-compare?compare=var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/NEON_c_vaddq_f32.yaml:var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/NEON_c_vadd_f32.yaml) will help you get through this. Based on the prototype provided, you should choose [**vaddq_f32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/NEON_c_vaddq_f32.yaml/) because it works with 128-bit vectors which is the same as SSE4.2. + +2. Moving to the next intrinsic, **_mm_mul_ps**, you will use the [intrinsics tree](https://staging.simd.info/tag-tree) on SIMD.info to find the equivalent. Start by expanding the **Arithmetic** folder and then navigate to the subfolder **Vector Multiply**. Since you are working with 32-bit floats, open the **Vector Multiply 32-bit floats** subfolder, where you will several options. The recommended choice is [**vmulq_f32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Arithmetic/Vector%20Multiply/Vector%20Multiply%2032-bit%20floats/NEON_c_vmulq_f32.yaml/), following the same reasoning as before—it operates on 128-bit vectors, just like in SSE4.2. + +3. For the third intrinsic, **_mm_sqrt_ps**, the easiest way to find the corresponding NEON intrinsic is by typing **"Square Root"** into the search bar on SIMD.info. From the [search results](https://staging.simd.info/search?search=square+root&simd_engines=1&simd_engines=2&simd_engines=3&simd_engines=4&simd_engines=5), look for the float-specific version and select [**vsqrtq_f32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Math%20Functions/Vector%20Square%20Root/NEON_c_vsqrtq_f32.yaml/), which, like the others, works with 128-bit vectors. In the equivalents section regarding SSE4.2, you can clearly see that **_mm_sqrt_ps** has its place as a direct match for this operation. + +4. For the last intrinsic, **_mm_cmpgt_ps**, follow a similar approach as before. Using the intrinsics tree on SIMD.info, start by expanding the **Comparison** folder. Navigate to the subfolder **Vector Compare Greater Than**, and since you are working with 32-bit floats, proceed to **Vector Compare Greater Than 32-bit floats**. The recommended choice is [**vcgtq_f32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Comparison/Vector%20Compare%20Greater%20Than/NEON_c_vcgtq_f32.yaml/), as it operates on 128-bit vectors, just like in SSE4.2. + +Now that you have found the NEON equivalents for each SSE4.2 intrinsic, you're ready to begin porting the code. Understanding these equivalents is key to ensuring that the performance and correctness of the calculations remain intact as you switch between SIMD engines. + +## Step-by-Step Porting +1. The first step is to change the loading process to follow NEON's method for initializing vectors. Unlike SSE4.2, where we use intrinsics like _mm_set_ps, in NEON, we can directly define the vector using curly braces {}. This is simpler and aligns with how NEON works with floating-point vectors. +2. Next, you will replace the SSE4.2 intrinsics with the NEON equivalents we identified earlier. The key is to ensure that the operations perform the same tasks, such as comparison, addition, multiplication, and square root calculations. +3. Finally, modify the storing process to match NEON’s way of moving data from vectors to memory. In NEON, you use functions like vst1q_f32 for storing 128-bit floating-point vectors and [**vst1q_u32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Memory%20Operations/Vector%20Store/Vector%20Store%2032-bit%20unsigned%20integers/NEON_c_vst1q_u32.yaml/) for storing 128-bit integer vectors. \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md index b4220d24d1..5383f5a3ee 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md @@ -6,5 +6,76 @@ weight: 6 layout: learningpathall --- -## PLACEHOLDER HEADER -YOUR CONTENT GOES HERE +## Verifying the Ported Code +After successfully porting the code from SSE4.2 to NEON, it's time to verify that the functionality remains intact and performs as expected. Porting SIMD code involves translating low-level operations, and it's critical to ensure that the behavior is consistent in both performance and results. To do this, you will write a simple program that mimics the original SSE operations but now uses NEON intrinsics. Create a new file for the ported NEON code named calculation_sse.c with the contents shown below: +```C +#include +#include + +int main() { + float32x4_t a = {16.0f, 9.0f, 4.0f, 1.0f}; + float32x4_t b = {4.0f, 3.0f, 2.0f, 1.0f}; + + uint32x4_t cmp_result = vcgtq_f32(a, b); + + float a_arr[4], b_arr[4]; + uint32_t cmp_res[4]; + + vst1q_f32(a_arr, a); + vst1q_f32(b_arr, b); + vst1q_u32(cmp_res, cmp_result); + + for (int i = 0; i < 4; i++) { + if (cmp_res[i] != 0) { + printf("Element %d: %.2f is larger than %.2f\n", i, a_arr[i], b_arr[i]); + } else { + printf("Element %d: %.2f is not larger than %.2f\n", i, a_arr[i], b_arr[i]); + } + } + + float32x4_t add_result = vaddq_f32(a, b); + float32x4_t mul_result = vmulq_f32(add_result, b); + float32x4_t sqrt_result = vsqrtq_f32(mul_result); + + float res[4]; + + vst1q_f32(res, add_result); + printf("Addition Result: %.2f %.2f %.2f %.2f\n", res[0], res[1], res[2], res[3]); + + vst1q_f32(res, mul_result); + printf("Multiplication Result: %.2f %.2f %.2f %.2f\n", res[0], res[1], res[2], res[3]); + + vst1q_f32(res, sqrt_result); + printf("Square Root Result: %.2f %.2f %.2f %.2f\n", res[0], res[1], res[2], res[3]); + + return 0; +} +``` + +Compile the code as follows using a machine that supports NEON-Vector-Extension: +```bash +gcc -O3 calculation_neon.c -o calculation_neon -march=native +``` + +Now run the program: +```bash +./calculation_neon +``` + +The output should look like: +```output +Element 0: 16.00 is larger than 4.00 +Element 1: 9.00 is larger than 3.00 +Element 2: 4.00 is larger than 2.00 +Element 3: 1.00 is not larger than 1.00 +Addition Result: 20.00 12.00 6.00 2.00 +Multiplication Result: 80.00 36.00 12.00 2.00 +Square Root Result: 8.94 6.00 3.46 1.41 +``` + +As you can see, the results are exactly the same as in the SSE4.2 example, though they appear in reverse order. This reversal is due to how different SIMD engines handle data. Additionally, the size of the code remains identical, demonstrating that the NEON code is a direct and efficient translation of the SSE4.2 code. + +## Conclusion and Additional Resources +In conclusion, successfully porting SIMD code from SSE4.2 to NEON illustrates how well the two architectures can be aligned to perform equivalent operations. SIMD.info was instrumental in this process, providing a centralized and user-friendly resource for finding NEON equivalents to SSE4.2 intrinsics. It saved considerable time and effort by offering detailed descriptions, prototypes, and comparisons directly, eliminating the need for extensive web searches and manual lookups. + +For those interested in further exploration, consider diving into additional resources such as SIMD documentation, architecture manuals, and online forums. These can provide deeper insights into SIMD optimizations and new techniques. Leveraging these resources will enhance your understanding and ability to work with various SIMD architectures efficiently. \ No newline at end of file From 336ba6dc46f7750d6cbaca8ef659ed7a34161faf Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Tue, 10 Sep 2024 17:23:43 +0300 Subject: [PATCH 03/15] deleted images because they are not being used --- .../simd-info-demo/example-picture.png | Bin 63167 -> 0 bytes .../simd-info-demo/intrinsic-tree-2.png | Bin 21678 -> 0 bytes .../simd-info-demo/intrinsic-tree.png | Bin 245198 -> 0 bytes .../simd-info-demo/search-engine.png | Bin 65487 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 content/learning-paths/cross-platform/simd-info-demo/example-picture.png delete mode 100644 content/learning-paths/cross-platform/simd-info-demo/intrinsic-tree-2.png delete mode 100644 content/learning-paths/cross-platform/simd-info-demo/intrinsic-tree.png delete mode 100644 content/learning-paths/cross-platform/simd-info-demo/search-engine.png diff --git a/content/learning-paths/cross-platform/simd-info-demo/example-picture.png b/content/learning-paths/cross-platform/simd-info-demo/example-picture.png deleted file mode 100644 index c69844bed44b65c7f5bc6cf511f93987fdcd7b95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63167 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 q-Mv3pxc`&l*gyNt{xlEs;Qs>q{#983 diff --git a/content/learning-paths/cross-platform/simd-info-demo/intrinsic-tree-2.png b/content/learning-paths/cross-platform/simd-info-demo/intrinsic-tree-2.png deleted file mode 100644 index 78d67be7c76e68af0daacc0c77bf64a36cf5f142..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21678 zcmV)zK#{+RP)00D9c0{{R3G~w8N0001@P)t-s_4fJj z@$(uTAQl-M`}_U*`uzR<{{R2~_xSq${{Qs#_2J^pWLq$0}Ki%El>g(&~=I8hK z_wDZQPf=4=SXFETXD&CmP#`NG4* zZEtb1v$TbWh>nksl$MueXK9+1jAwz|@>|LxeQ zzMy#FR(}8hAOJ~3K~#9!?45~rqqq`=4Z>#Mcgz}gj(GpqyIKI_B|VOBPq!ygC9z2X zGKWvUR3$0oATs-Lc3`)FL1)IGGh@(Kb2$0QBW2EEH~Af*2SrgtUpc87z2P~Q&ftyJ z^93KL;?`ou=wE>z0RZw(_6x{veTokNd=5qg0q~WluSU_pt#ypizXP4;LGgIETQp67 z15LJcz=Qdz;%8K}Zhaj(kIrMz{}Oby1VFomCUl5o@Ko`E&hwq{e5{ar#7acnpqn#e z^v9ta51@-&I|WacA5Jazl?YKG)*$F-iEJJjqdyJZ#?akAepNYwo-#Op0=iw-wIy2d z)DMwOkk=_{-i@|S98s$3Iuz}+pExn7>jZW5TvFGj=p=LBr{CjJ+dY}EBF3{;`nCI^NK?;v%bc%V}wMEn;GnB7EA0UKjtU(+|Y3+$P zP(;N;Xau6ILpatN56VDnh)1kS$aldAQOv~~0}c1wUdJIAU(!r1K!?!8fSWXOV42mY zCGRWAkw$;leaIK+NeN-m8YqZBy@a(CZWQWTk?uUqz6QNVcW*3d@C?d`I!G7|0}|5d zIJid8NAwyZAUGeR@iq@=yyiA*)C~-r)CK5}hS0g}C}%9o#8`jlN9%K?vQa3Nq@$o3kHt_Lff{K_B z1eg^$IuB^}1^P!$^yuTb9F#Sx9Uj^+nu1ia{ufGzxCWw+^%Vz&cK~{$k6ggV6-62M z9+%O4rFqBqSBosyEHM07blec@JFr}VKnJi7R8x|7&_Ow=u07+OD5G{f#C&$J1QFx( z0=-4=urL)a9ML(MBG$;Eg|a9__!F$plrCfF=rc@J6;p`g3s+ET4ecJ#-ZPIq+~S!S z&DWF;O41c88QL7yl+9f-c6z4~lM8gf(>!`WMfe}6<0tL#(iis|^bah_oQ7hkKY$?_ zwV?v0ZV^03 z#A9_7gA;_|rFjoZ5)06x4MUHSNKq{zDS{P-q4F!G1C3ihBKufVIshvaNCGe}BR{C= zhatoHTA#kOk$B8Jzk}{6chDPp(=B|QA_`d1Wf7ZeUbaAw(c8ETvwT>VGU)3RW=DV)cx?S*dkB9cyi>47|z%F^fPtW525=XchHwX9aksNaWhL2IKPW= zrywuTv97zjpGS?&+~Mm^!&6mJ}9W%UQqR%F29ghHe&mt($oJBx)^&)5(T|j z-jqHsA;Nwrw=dTeuCRZtbP63`-G2J5zw-Ra(A%;sY4(khH(+eg9hCPk^Xe`hzo~=~mP>a2py_|8 zbk5t>>o|E?8Wr)BI}c0Qevi^^oOstyL&s_~@PvwRrt75E5jiY;*xRyTHaJ1 `( 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 z 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

i68s<5d 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

IHEs?WpOpe{L%3OI);r3G= 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 diff --git a/content/learning-paths/cross-platform/simd-info-demo/search-engine.png b/content/learning-paths/cross-platform/simd-info-demo/search-engine.png deleted file mode 100644 index 5e265e8ec1f710601ca4204a000420bf6eef824a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65487 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 Date: Thu, 12 Sep 2024 13:33:54 +0300 Subject: [PATCH 04/15] Some detailed changes after reviewing & contributor addition to the csv --- .../cross-platform/simd-info-demo/_index.md | 7 +++--- .../cross-platform/simd-info-demo/how-to-1.md | 4 +-- .../cross-platform/simd-info-demo/how-to-2.md | 11 ++++---- .../cross-platform/simd-info-demo/how-to-5.md | 25 +++++++++++-------- contributors.csv | 1 + 5 files changed, 26 insertions(+), 22 deletions(-) diff --git a/content/learning-paths/cross-platform/simd-info-demo/_index.md b/content/learning-paths/cross-platform/simd-info-demo/_index.md index 76bb864ff0..2a23378e3f 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/_index.md +++ b/content/learning-paths/cross-platform/simd-info-demo/_index.md @@ -3,17 +3,16 @@ title: SIMD.info Tool Demonstration minutes_to_complete: 30 -who_is_this_for: This is for software developers and engineers looking to understand SIMD code portability across platforms, specifically between Intel, ARM & PowerPC architectures. +who_is_this_for: This is for software developers looking to understand SIMD code portability across platforms. learning_objectives: - - Understand the challenges of porting SIMD code from one platform to another. - Learn how to use SIMD.info’s tools and features, such as navigation, search, and comparison, to simplify the process of finding equivalent SIMD instructions and improving code portability. prerequisites: - A basic understanding of SIMD instructions and how they are used in parallel processing. - - Access to platform-based systems, such as ARM, Intel, or Power, with recent versions of a C compiler (Clang or GCC) installed. + - Access to a platform with SIMD supported engine, with recent versions of a C compiler (Clang or GCC) installed. -author_primary: Konstantinos Margaritis & Georgios Mermigkis, VectorCamp +author_primary: Georgios Mermigkis & Konstantinos Margaritis, VectorCamp ### Tags skilllevels: Advanced diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md index 99a0873c0e..16aedb9891 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md @@ -9,6 +9,6 @@ layout: learningpathall ### Introduction to SIMD.info and VectorCamp ### The Challenge of SIMD Code Portability -One of the biggest challenges developers face when working with SIMD code is making it portable across different platforms. SIMD instructions are designed to speed up operations by performing the same action on multiple data points in parallel. However, each architecture (like Intel, ARM, or PowerPC) has its own set of SIMD instructions, making it difficult to write code that works on all of them without major changes. +One of the biggest challenges developers face when working with SIMD code is making it portable across different platforms. SIMD instructions are designed to speed up operations by performing the same action on multiple data points in parallel. However, each architecture has its own set of SIMD instructions, making it difficult to write code that works on all of them without major changes. -When you're developing for Intel, for example, you might use specific instructions like SSE or AVX. But when you try to run that same code on ARM's NEON, the differences in instruction sets and data handling require careful attention. This lack of portability increases development time and introduces the risk of errors during the porting process. Tools like SIMD.info aim to solve this by helping you find equivalent instructions and providing a more streamlined way to adapt your code for different architectures. +When you're developing for Intel, for example, you might use specific instructions like SSE or AVX or AVX512. But when you try to run that same code on ARM's NEON, the differences in instruction sets and data handling require careful attention. This lack of portability increases development time and introduces the risk of errors during the porting process. Currently, developers rely on ISA documentation (Intel, ARM) and manually search across various platforms like [Intel Intrinsics Guide](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html) and [ARM Developer](https://developer.arm.com/architectures/instruction-sets/intrinsics/) to find equivalent instructions. Tools like SIMD.info aim to solve this by helping you find equivalent instructions and providing a more streamlined way to adapt your code for different architectures. \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md index 6ef713a732..e5b8d73efc 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md @@ -41,17 +41,18 @@ This detailed information ensures you have all the necessary resources to effect - **Bit Clear** - **XOR** -- **Advanced search functionality:** With its robust search engine, SIMD.info allows you to either search for a specific intrinsic (e.g. vadd_p64) or enter more general terms (e.g. How to add 2 vectors), and it will return the corresponding intrinsics. Whether you’re looking for Intel, ARM, or Power equivalents, this functionality streamlines the process of finding the right commands for your project. +- **Advanced search functionality:** With its robust search engine, SIMD.info allows you to either search for a specific intrinsic (e.g. vadd_p64) or enter more general terms (e.g. How to add 2 vectors), and it will return the corresponding intrinsics. You can also filter results based on the specific engine you're working with, such as VSX, NEON, SSE4.2, AVX, AVX512. This functionality streamlines the process of finding the right commands tailored to your project needs. -- **Comparison tools:** This feature lets you directly compare SIMD instructions from different platforms side by side, offering a clear view of the similarities and differences. It’s an invaluable tool for porting code across architectures, as it ensures accuracy and efficiency. +- **Comparison tools:** This feature lets you directly compare SIMD instructions from different (or the same) platforms side by side, offering a clear view of the similarities and differences. It’s an invaluable tool for porting code across architectures, as it ensures accuracy and efficiency. -- **Discussion forum (Stack Overflow-type):** The integrated discussion forum allows users to ask questions, share insights, and troubleshoot problems together. This community-driven space ensures that you’re never stuck on a complex issue without support. +- **Discussion forum (Stack Overflow-type):** The integrated discussion forum, powered by **[discuss](https://disqus.com/)** allows users to ask questions, share insights, and troubleshoot problems together. This community-driven space ensures that you’re never stuck on a complex issue without support, fostering collaboration and knowledge-sharing among SIMD developers. ### Work in Progress & Future Development -- **Sudo-code:** Currently under development, the Sudo-code feature will enable users to generate high-level pseudo-code based on specific SIMD instructions. This tool aims to make writing and understanding SIMD code even easier. +- **Pseudo-code:** Currently under development, this feature will enable users to generate high-level pseudo-code based on specific SIMD instructions. This tool aims to enable better understanding of the SIMD instructions. This will also be used in the next feature, which will be **intrinsic diagrams** . -- **[SIMD.ai](https://simd.ai/):** SIMD.ai is an upcoming feature that promises to bring AI-assisted insights and recommendations to the SIMD development process, making it faster and more efficient to write and port SIMD code. +- **Intrinsic diagrams:** A feature under progress, creating detailed diagrams for each intrinsic to visualize how it operates on a low level using registers. These diagrams will help developers grasp the mechanics of SIMD instructions more clearly, aiding in optimization and debugging. +- **[SIMD.ai](https://simd.ai/):** SIMD.ai is an upcoming feature that promises to bring AI-assisted insights and recommendations to the SIMD development process, making it faster and more efficient to write and port SIMD code. ### How These Features Aid in SIMD Development SIMD.info offers a range of features that streamline the process of porting SIMD code across different architectures. The hierarchical structure of tree-based navigation allows you to easily locate instructions within a clear framework. This organization into broad categories and specific subcategories, such as Arithmetic and Boolean Logic, makes it straightforward to identify the relevant SIMD instructions needed for your project. diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md index 5383f5a3ee..eec6b68161 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md @@ -13,8 +13,8 @@ After successfully porting the code from SSE4.2 to NEON, it's time to verify tha #include int main() { - float32x4_t a = {16.0f, 9.0f, 4.0f, 1.0f}; - float32x4_t b = {4.0f, 3.0f, 2.0f, 1.0f}; + float32x4_t a = {1.0f, 4.0f, 9.0f, 16.0f}; + float32x4_t b = {1.0f, 2.0f, 3.0f, 4.0f}; uint32x4_t cmp_result = vcgtq_f32(a, b); @@ -32,6 +32,7 @@ int main() { printf("Element %d: %.2f is not larger than %.2f\n", i, a_arr[i], b_arr[i]); } } + printf("\n"); float32x4_t add_result = vaddq_f32(a, b); float32x4_t mul_result = vmulq_f32(add_result, b); @@ -64,18 +65,20 @@ Now run the program: The output should look like: ```output -Element 0: 16.00 is larger than 4.00 -Element 1: 9.00 is larger than 3.00 -Element 2: 4.00 is larger than 2.00 -Element 3: 1.00 is not larger than 1.00 -Addition Result: 20.00 12.00 6.00 2.00 -Multiplication Result: 80.00 36.00 12.00 2.00 -Square Root Result: 8.94 6.00 3.46 1.41 +Element 0: 1.00 is not larger than 1.00 +Element 1: 4.00 is larger than 2.00 +Element 2: 9.00 is larger than 3.00 +Element 3: 16.00 is larger than 4.00 + +Addition Result: 2.00 6.00 12.00 20.00 +Multiplication Result: 2.00 12.00 36.00 80.00 +Square Root Result: 1.41 3.46 6.00 8.94 ``` +As you can clearly see, the results are exactly the same as in the SSE4.2 example. However, we initialized the vectors in reverse order compared to the SSE4.2 version because NEON loads vectors from LSB to MSB, ensuring consistent output across both architectures. Additionally, the size of the code remains identical, demonstrating that the NEON code is a direct and efficient translation of the SSE4.2 code. -As you can see, the results are exactly the same as in the SSE4.2 example, though they appear in reverse order. This reversal is due to how different SIMD engines handle data. Additionally, the size of the code remains identical, demonstrating that the NEON code is a direct and efficient translation of the SSE4.2 code. + ## Conclusion and Additional Resources -In conclusion, successfully porting SIMD code from SSE4.2 to NEON illustrates how well the two architectures can be aligned to perform equivalent operations. SIMD.info was instrumental in this process, providing a centralized and user-friendly resource for finding NEON equivalents to SSE4.2 intrinsics. It saved considerable time and effort by offering detailed descriptions, prototypes, and comparisons directly, eliminating the need for extensive web searches and manual lookups. +In conclusion, successfully porting SIMD code from SSE4.2 to NEON illustrates how well the two architectures can be aligned to perform equivalent operations. SIMD.info was instrumental in this process, providing a centralized and user-friendly resource for finding NEON equivalents to SSE4.2 intrinsics. It saved considerable time and effort by offering detailed descriptions, prototypes, and comparisons directly, eliminating the need for extensive web searches and manual lookups. While porting between vectors of different sizes is more complex, work is already underway to match instructions like SVE/SVE2 with AVX512. For those interested in further exploration, consider diving into additional resources such as SIMD documentation, architecture manuals, and online forums. These can provide deeper insights into SIMD optimizations and new techniques. Leveraging these resources will enhance your understanding and ability to work with various SIMD architectures efficiently. \ No newline at end of file diff --git a/contributors.csv b/contributors.csv index 196c7c6a0b..1cf37a5721 100644 --- a/contributors.csv +++ b/contributors.csv @@ -19,6 +19,7 @@ Kristof Beyls,Arm,,,, David Spickett,Arm,,,, Uma Ramalingam,Arm,uma-ramalingam,,, Konstantinos Margaritis,VectorCamp,markos,konstantinosmargaritis,@freevec1,https://vectorcamp.gr/ +Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/ Diego Russo,Arm,diegorusso,diegor,diegor,https://www.diegor.it Jonathan Davies,Arm,,,, Zhengjun Xing,Arm,,,, From 936b6addbf6f6b85a815252cd03d2793ab319a17 Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Mon, 16 Sep 2024 12:43:08 +0300 Subject: [PATCH 05/15] Paths lead to simd.info and not to staging as they were before. --- .../cross-platform/simd-info-demo/how-to-4.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md index 329f9c52c9..b61c870c16 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md @@ -18,17 +18,17 @@ For the operations in your SSE4.2 example, you have the following intrinsics: To gain a deeper understanding of how these intrinsics work and to get detailed descriptions, you can use the search feature on SIMD.info. Simply enter the intrinsic's name into the search bar. You can either select from the suggested results or perform a direct search to find detailed information about each intrinsic. -1. By searching [_mm_add_ps](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/SSE4.2_c__mm_add_ps.yaml/) you get information about it's purpose, result-type, assembly instruction, prototype and an example about it. By clicking the **engine** option **"NEON"** you can find it's [equivalents](https://staging.simd.info/eq/var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/SSE4.2_c__mm_add_ps.yaml/NEON/) for this engine. The equivalents are: **vaddq_f32**, **vadd_f32**. Now you are trying to choose which one to use. [Intrinsic comparison](https://staging.simd.info/c-intrinsics-compare?compare=var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/NEON_c_vaddq_f32.yaml:var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/NEON_c_vadd_f32.yaml) will help you get through this. Based on the prototype provided, you should choose [**vaddq_f32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Arithmetic/Vector%20Add/Vector%20Add%2032-bit%20floats/NEON_c_vaddq_f32.yaml/) because it works with 128-bit vectors which is the same as SSE4.2. +1. By searching [_mm_add_ps](https://simd.info/c_intrinsic/_mm_add_ps/) you get information about it's purpose, result-type, assembly instruction, prototype and an example about it. By clicking the **engine** option **"NEON"** you can find it's [equivalents](https://simd.info/eq/_mm_add_ps/NEON/) for this engine. The equivalents are: **vaddq_f32**, **vadd_f32**. Now you are trying to choose which one to use. [Intrinsic comparison](https://simd.info/c-intrinsics-compare?compare=vaddq_f32:vadd_f32) will help you get through this. Based on the prototype provided, you should choose [**vaddq_f32**](https://simd.info/c_intrinsic/vaddq_f32/) because it works with 128-bit vectors which is the same as SSE4.2. -2. Moving to the next intrinsic, **_mm_mul_ps**, you will use the [intrinsics tree](https://staging.simd.info/tag-tree) on SIMD.info to find the equivalent. Start by expanding the **Arithmetic** folder and then navigate to the subfolder **Vector Multiply**. Since you are working with 32-bit floats, open the **Vector Multiply 32-bit floats** subfolder, where you will several options. The recommended choice is [**vmulq_f32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Arithmetic/Vector%20Multiply/Vector%20Multiply%2032-bit%20floats/NEON_c_vmulq_f32.yaml/), following the same reasoning as before—it operates on 128-bit vectors, just like in SSE4.2. +2. Moving to the next intrinsic, **_mm_mul_ps**, you will use the [intrinsics tree](https://simd.info/tag-tree) on SIMD.info to find the equivalent. Start by expanding the **Arithmetic** folder and then navigate to the subfolder **Vector Multiply**. Since you are working with 32-bit floats, open the **Vector Multiply 32-bit floats** subfolder, where you will several options. The recommended choice is [**vmulq_f32**](https://simd.info/c_intrinsic/vmulq_f32/), following the same reasoning as before—it operates on 128-bit vectors, just like in SSE4.2. -3. For the third intrinsic, **_mm_sqrt_ps**, the easiest way to find the corresponding NEON intrinsic is by typing **"Square Root"** into the search bar on SIMD.info. From the [search results](https://staging.simd.info/search?search=square+root&simd_engines=1&simd_engines=2&simd_engines=3&simd_engines=4&simd_engines=5), look for the float-specific version and select [**vsqrtq_f32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Math%20Functions/Vector%20Square%20Root/NEON_c_vsqrtq_f32.yaml/), which, like the others, works with 128-bit vectors. In the equivalents section regarding SSE4.2, you can clearly see that **_mm_sqrt_ps** has its place as a direct match for this operation. +3. For the third intrinsic, **_mm_sqrt_ps**, the easiest way to find the corresponding NEON intrinsic is by typing **"Square Root"** into the search bar on SIMD.info. From the [search results](https://simd.info/search?search=Square+Root&simd_engines=1&simd_engines=2&simd_engines=3&simd_engines=4&simd_engines=5), look for the float-specific version and select [**vsqrtq_f32**](https://simd.info/c_intrinsic/vsqrtq_f32/), which, like the others, works with 128-bit vectors. In the equivalents section regarding SSE4.2, you can clearly see that **_mm_sqrt_ps** has its place as a direct match for this operation. -4. For the last intrinsic, **_mm_cmpgt_ps**, follow a similar approach as before. Using the intrinsics tree on SIMD.info, start by expanding the **Comparison** folder. Navigate to the subfolder **Vector Compare Greater Than**, and since you are working with 32-bit floats, proceed to **Vector Compare Greater Than 32-bit floats**. The recommended choice is [**vcgtq_f32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Comparison/Vector%20Compare%20Greater%20Than/NEON_c_vcgtq_f32.yaml/), as it operates on 128-bit vectors, just like in SSE4.2. +4. For the last intrinsic, **_mm_cmpgt_ps**, follow a similar approach as before. Using the intrinsics tree on SIMD.info, start by expanding the **Comparison** folder. Navigate to the subfolder **Vector Compare Greater Than**, and since you are working with 32-bit floats, proceed to **Vector Compare Greater Than 32-bit floats**. The recommended choice is [**vcgtq_f32**](https://simd.info/c_intrinsic/vcgtq_f32/), as it operates on 128-bit vectors, just like in SSE4.2. Now that you have found the NEON equivalents for each SSE4.2 intrinsic, you're ready to begin porting the code. Understanding these equivalents is key to ensuring that the performance and correctness of the calculations remain intact as you switch between SIMD engines. ## Step-by-Step Porting 1. The first step is to change the loading process to follow NEON's method for initializing vectors. Unlike SSE4.2, where we use intrinsics like _mm_set_ps, in NEON, we can directly define the vector using curly braces {}. This is simpler and aligns with how NEON works with floating-point vectors. 2. Next, you will replace the SSE4.2 intrinsics with the NEON equivalents we identified earlier. The key is to ensure that the operations perform the same tasks, such as comparison, addition, multiplication, and square root calculations. -3. Finally, modify the storing process to match NEON’s way of moving data from vectors to memory. In NEON, you use functions like vst1q_f32 for storing 128-bit floating-point vectors and [**vst1q_u32**](https://staging.simd.info/c_intrinsic//var/www/html/simdai/data_test/Memory%20Operations/Vector%20Store/Vector%20Store%2032-bit%20unsigned%20integers/NEON_c_vst1q_u32.yaml/) for storing 128-bit integer vectors. \ No newline at end of file +3. Finally, modify the storing process to match NEON’s way of moving data from vectors to memory. In NEON, you use functions like vst1q_f32 for storing 128-bit floating-point vectors and [**vst1q_u32**](https://simd.info/c_intrinsic/vst1q_u32/) for storing 128-bit integer vectors. \ No newline at end of file From 0761196ed953ddb0f3d3928ee501902b6dd0ab3e Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Mon, 16 Sep 2024 13:47:48 +0300 Subject: [PATCH 06/15] Added 1 more page for a more complex example that doesn't have direct equivalent for NEON. --- .../cross-platform/simd-info-demo/how-to-5.md | 8 +- .../cross-platform/simd-info-demo/how-to-6.md | 95 +++++++++++++++++++ 2 files changed, 96 insertions(+), 7 deletions(-) create mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-6.md diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md index eec6b68161..942310401a 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md @@ -1,5 +1,5 @@ --- -title: Verification & Conclusion +title: Code Verification weight: 6 ### FIXED, DO NOT MODIFY @@ -76,9 +76,3 @@ Square Root Result: 1.41 3.46 6.00 8.94 ``` As you can clearly see, the results are exactly the same as in the SSE4.2 example. However, we initialized the vectors in reverse order compared to the SSE4.2 version because NEON loads vectors from LSB to MSB, ensuring consistent output across both architectures. Additionally, the size of the code remains identical, demonstrating that the NEON code is a direct and efficient translation of the SSE4.2 code. - - -## Conclusion and Additional Resources -In conclusion, successfully porting SIMD code from SSE4.2 to NEON illustrates how well the two architectures can be aligned to perform equivalent operations. SIMD.info was instrumental in this process, providing a centralized and user-friendly resource for finding NEON equivalents to SSE4.2 intrinsics. It saved considerable time and effort by offering detailed descriptions, prototypes, and comparisons directly, eliminating the need for extensive web searches and manual lookups. While porting between vectors of different sizes is more complex, work is already underway to match instructions like SVE/SVE2 with AVX512. - -For those interested in further exploration, consider diving into additional resources such as SIMD documentation, architecture manuals, and online forums. These can provide deeper insights into SIMD optimizations and new techniques. Leveraging these resources will enhance your understanding and ability to work with various SIMD architectures efficiently. \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md new file mode 100644 index 0000000000..2ee93b804b --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md @@ -0,0 +1,95 @@ +--- +title: Complex Example +weight: 7 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Handling Intrinsics Without Direct Equivalents +As we successfully port the code from SSE4.2 to NEON, we observe that certain instructions translate seamlessly. However, there are cases where direct equivalents for some intrinsics may not be readily available across architectures. For example, the [**_mm_hadd_ps**](https://simd.info/c_intrinsic/_mm_hadd_ps/) intrinsic from SSE4.2, which performs horizontal addition of packed single-precision floating-point elements, does not have a direct counterpart in NEON. + +In this situation, SIMD.info’s purpose description becomes essential for understanding the operation at a high level. By analyzing the core functionality of **_mm_hadd_ps**, we can implement an alternative solution using available NEON intrinsics. For **_mm_hadd_ps**, which combines the elements of two vectors in a way that sums adjacent elements both horizontally and vertically, we break down the operation into a series of steps. For instance, to achieve the same result, we extract the [lower](https://simd.info/c_intrinsic/vget_low_f32/) and [upper](https://simd.info/c_intrinsic/vget_high_f32/) halves of the vectors, perform horizontal additions on each half separately using [vpadd_f32](https://simd.info/c_intrinsic/vpadd_f32/), and then [combine](https://simd.info/c_intrinsic/vcombine_f32/) the results into a single vector. This approach ensures that the intended horizontal addition operation is preserved, even though there is no direct one-to-one match between SSE4.2 and NEON for this specific instruction. + +Consider the following code for SSE4.2. Create a new file for the code named complex_sse.c with the contents shown below: +```C +#include +#include + +int main() { + __m128 a = _mm_set_ps(1.0f, 2.0f, 3.0f, 4.0f); + __m128 b = _mm_set_ps(5.0f, 6.0f, 7.0f, 8.0f); + + __m128 res = _mm_hadd_ps(a, b); + + float out[4]; + _mm_storeu_ps(out, res); + + printf("SSE4.2 Result: %.2f %.2f %.2f %.2f\n", out[0], out[1], out[2], out[3]); + return 0; +} +``` + +Compile the code as follows using a machine that supports SSE-Vector-Extension: +```bash +gcc -O3 -msse4.2 complex_sse.c -o complex_sse -march=native +``` + +Now run the program: +```bash +./complex_sse +``` + +The output should look like: +```output +SSE4.2 Result: 7.00 3.00 15.00 11.00 +``` + +To achieve the same result with NEON, follow these steps using the equivalents we discussed. Implement the corresponding NEON code that extracts the lower and upper halves of the vectors, performs horizontal additions, and combines the results. Create a new file for the NEON code named complex_neon.c with the contents shown below: +```C +#include +#include + +int main() { + float32x4_t a = {1.0f, 2.0f, 3.0f, 4.0f}; + float32x4_t b = {5.0f, 6.0f, 7.0f, 8.0f}; + + float32x2_t a_low = vget_low_f32(a); + float32x2_t a_high = vget_high_f32(a); + float32x2_t b_low = vget_low_f32(b); + float32x2_t b_high = vget_high_f32(b); + + float32x2_t a_sum_low = vpadd_f32(a_low, a_high); + float32x2_t b_sum_low = vpadd_f32(b_low, b_high); + + float32x4_t result = vcombine_f32(a_sum_low, b_sum_low); + + float res[4]; + vst1q_f32(res, result); + + printf("NEON Result: %.2f %.2f %.2f %.2f\n", res[0], res[1], res[2], res[3]); + return 0; +} +``` + +Compile the code as follows using a machine that supports NEON-Vector-Extension: +```bash +gcc -O3 complex_neon.c -o complex_neon -march=native +``` + +Now run the program: +```bash +./complex_neon +``` + +The output should look like: +```output +NEON Result: 3.00 7.00 11.00 15.00 +``` + +The results match, although the order differs due to how the data is handled in each architecture. SIMD.info was especially helpful in this process, providing detailed descriptions and examples that guided the translation of complex intrinsics between different SIMD architectures. + +## Conclusion and Additional Resources +In conclusion, porting SIMD code from SSE4.2 to NEON demonstrates how well the two architectures can be aligned to perform equivalent operations. SIMD.info was instrumental in this process, providing a centralized and user-friendly resource for finding NEON equivalents to SSE4.2 intrinsics. It saved considerable time and effort by offering detailed descriptions, prototypes, and comparisons directly, eliminating the need for extensive web searches and manual lookups. While porting between vectors of different sizes is more complex, work is already underway to match instructions like SVE/SVE2 with AVX512. + +For those interested in further exploration, consider diving into additional resources such as SIMD documentation, architecture manuals, and online forums. These can provide deeper insights into SIMD optimizations and new techniques. Leveraging these resources will enhance your understanding and ability to work with various SIMD architectures efficiently. \ No newline at end of file From f618d4778684c79d670f731a7b4def5dcb3d874c Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Mon, 16 Sep 2024 16:01:54 +0300 Subject: [PATCH 07/15] Minor size changes --- .../learning-paths/cross-platform/simd-info-demo/how-to-4.md | 4 ++-- .../learning-paths/cross-platform/simd-info-demo/how-to-5.md | 2 +- .../learning-paths/cross-platform/simd-info-demo/how-to-6.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md index b61c870c16..580c92188d 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md @@ -6,7 +6,7 @@ weight: 5 layout: learningpathall --- -## Using SIMD.info to Find NEON Equivalents +### Using SIMD.info to Find NEON Equivalents Now that you have a clear view of the example, you can start the process of porting the code to NEON. This is where [SIMD.info](https://simd.info/) comes in. In SIMD programming, the primary concern is usually the calculations, as they constitute the core workload of the program. Ensuring that these calculations are correctly ported and optimized is crucial for maintaining performance and correctness. For the operations in your SSE4.2 example, you have the following intrinsics: @@ -28,7 +28,7 @@ To gain a deeper understanding of how these intrinsics work and to get detailed Now that you have found the NEON equivalents for each SSE4.2 intrinsic, you're ready to begin porting the code. Understanding these equivalents is key to ensuring that the performance and correctness of the calculations remain intact as you switch between SIMD engines. -## Step-by-Step Porting +### Step-by-Step Porting 1. The first step is to change the loading process to follow NEON's method for initializing vectors. Unlike SSE4.2, where we use intrinsics like _mm_set_ps, in NEON, we can directly define the vector using curly braces {}. This is simpler and aligns with how NEON works with floating-point vectors. 2. Next, you will replace the SSE4.2 intrinsics with the NEON equivalents we identified earlier. The key is to ensure that the operations perform the same tasks, such as comparison, addition, multiplication, and square root calculations. 3. Finally, modify the storing process to match NEON’s way of moving data from vectors to memory. In NEON, you use functions like vst1q_f32 for storing 128-bit floating-point vectors and [**vst1q_u32**](https://simd.info/c_intrinsic/vst1q_u32/) for storing 128-bit integer vectors. \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md index 942310401a..393ba8ef8e 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md @@ -6,7 +6,7 @@ weight: 6 layout: learningpathall --- -## Verifying the Ported Code +### Verifying the Ported Code After successfully porting the code from SSE4.2 to NEON, it's time to verify that the functionality remains intact and performs as expected. Porting SIMD code involves translating low-level operations, and it's critical to ensure that the behavior is consistent in both performance and results. To do this, you will write a simple program that mimics the original SSE operations but now uses NEON intrinsics. Create a new file for the ported NEON code named calculation_sse.c with the contents shown below: ```C #include diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md index 2ee93b804b..8f43245567 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md +++ b/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md @@ -6,7 +6,7 @@ weight: 7 layout: learningpathall --- -## Handling Intrinsics Without Direct Equivalents +### Handling Intrinsics Without Direct Equivalents As we successfully port the code from SSE4.2 to NEON, we observe that certain instructions translate seamlessly. However, there are cases where direct equivalents for some intrinsics may not be readily available across architectures. For example, the [**_mm_hadd_ps**](https://simd.info/c_intrinsic/_mm_hadd_ps/) intrinsic from SSE4.2, which performs horizontal addition of packed single-precision floating-point elements, does not have a direct counterpart in NEON. In this situation, SIMD.info’s purpose description becomes essential for understanding the operation at a high level. By analyzing the core functionality of **_mm_hadd_ps**, we can implement an alternative solution using available NEON intrinsics. For **_mm_hadd_ps**, which combines the elements of two vectors in a way that sums adjacent elements both horizontally and vertically, we break down the operation into a series of steps. For instance, to achieve the same result, we extract the [lower](https://simd.info/c_intrinsic/vget_low_f32/) and [upper](https://simd.info/c_intrinsic/vget_high_f32/) halves of the vectors, perform horizontal additions on each half separately using [vpadd_f32](https://simd.info/c_intrinsic/vpadd_f32/), and then [combine](https://simd.info/c_intrinsic/vcombine_f32/) the results into a single vector. This approach ensures that the intended horizontal addition operation is preserved, even though there is no direct one-to-one match between SSE4.2 and NEON for this specific instruction. @@ -89,7 +89,7 @@ NEON Result: 3.00 7.00 11.00 15.00 The results match, although the order differs due to how the data is handled in each architecture. SIMD.info was especially helpful in this process, providing detailed descriptions and examples that guided the translation of complex intrinsics between different SIMD architectures. -## Conclusion and Additional Resources +### Conclusion and Additional Resources In conclusion, porting SIMD code from SSE4.2 to NEON demonstrates how well the two architectures can be aligned to perform equivalent operations. SIMD.info was instrumental in this process, providing a centralized and user-friendly resource for finding NEON equivalents to SSE4.2 intrinsics. It saved considerable time and effort by offering detailed descriptions, prototypes, and comparisons directly, eliminating the need for extensive web searches and manual lookups. While porting between vectors of different sizes is more complex, work is already underway to match instructions like SVE/SVE2 with AVX512. For those interested in further exploration, consider diving into additional resources such as SIMD documentation, architecture manuals, and online forums. These can provide deeper insights into SIMD optimizations and new techniques. Leveraging these resources will enhance your understanding and ability to work with various SIMD architectures efficiently. \ No newline at end of file From 6da9746277dbeb4815e985f4435ffc0cb66cf40c Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Tue, 15 Oct 2024 11:29:01 +0300 Subject: [PATCH 08/15] resovled (probably) contributores.csv conflicts --- contributors.csv | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/contributors.csv b/contributors.csv index 1cf37a5721..4a34a9bfb2 100644 --- a/contributors.csv +++ b/contributors.csv @@ -1,6 +1,6 @@ author,company,github,linkedin,twitter,website Jason Andrews,Arm,jasonrandrews,jason-andrews-7b05a8,, -Pareena Verma,Arm,pareenaverma,,, +Pareena Verma,Arm,pareenaverma,pareena-verma-7853607,, Ronan Synnott,Arm,,ronansynnott,, Florent Lebeau,Arm,,,, Brenda Strech,Remote.It,bstrech,bstrech,@remote_it,www.remote.it @@ -19,7 +19,6 @@ Kristof Beyls,Arm,,,, David Spickett,Arm,,,, Uma Ramalingam,Arm,uma-ramalingam,,, Konstantinos Margaritis,VectorCamp,markos,konstantinosmargaritis,@freevec1,https://vectorcamp.gr/ -Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/ Diego Russo,Arm,diegorusso,diegor,diegor,https://www.diegor.it Jonathan Davies,Arm,,,, Zhengjun Xing,Arm,,,, @@ -37,3 +36,9 @@ Adnan AlSinan,Arm,,,, Graham Woodward,Arm,,,, Basma El Gaabouri,Arm,,,, Gayathri Narayana Yegna Narayanan,Arm,,,, +Alexandros Lamprineas,Arm,,,, +Annie Tallund,Arm,annietllnd,annietallund,, +Cyril Rohr,RunsOn,crohr,cyrilrohr,, +Rin Dobrescu,Arm,,,, +Przemyslaw Wirkus,Arm,PrzemekWirkus,przemyslaw-wirkus-78b73352,, +Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/ \ No newline at end of file From ee31b1804d050c1f864d2ebaf625e49916f395b7 Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Tue, 15 Oct 2024 11:32:20 +0300 Subject: [PATCH 09/15] conflicts --- contributors.csv | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/contributors.csv b/contributors.csv index 4a34a9bfb2..dc0de4147a 100644 --- a/contributors.csv +++ b/contributors.csv @@ -1,6 +1,6 @@ author,company,github,linkedin,twitter,website Jason Andrews,Arm,jasonrandrews,jason-andrews-7b05a8,, -Pareena Verma,Arm,pareenaverma,pareena-verma-7853607,, +Pareena Verma,Arm,pareenaverma,,, Ronan Synnott,Arm,,ronansynnott,, Florent Lebeau,Arm,,,, Brenda Strech,Remote.It,bstrech,bstrech,@remote_it,www.remote.it @@ -36,9 +36,4 @@ Adnan AlSinan,Arm,,,, Graham Woodward,Arm,,,, Basma El Gaabouri,Arm,,,, Gayathri Narayana Yegna Narayanan,Arm,,,, -Alexandros Lamprineas,Arm,,,, -Annie Tallund,Arm,annietllnd,annietallund,, -Cyril Rohr,RunsOn,crohr,cyrilrohr,, -Rin Dobrescu,Arm,,,, -Przemyslaw Wirkus,Arm,PrzemekWirkus,przemyslaw-wirkus-78b73352,, -Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/ \ No newline at end of file +Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/ \ No newline at end of file From f801adbc9155127fd2d7dc2282d3c9e9e5e4edd7 Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Tue, 15 Oct 2024 11:40:54 +0300 Subject: [PATCH 10/15] maybe a path change will fix the conflicts --- contributors.csv => assets/contributors.csv | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) rename contributors.csv => assets/contributors.csv (83%) diff --git a/contributors.csv b/assets/contributors.csv similarity index 83% rename from contributors.csv rename to assets/contributors.csv index dc0de4147a..4a34a9bfb2 100644 --- a/contributors.csv +++ b/assets/contributors.csv @@ -1,6 +1,6 @@ author,company,github,linkedin,twitter,website Jason Andrews,Arm,jasonrandrews,jason-andrews-7b05a8,, -Pareena Verma,Arm,pareenaverma,,, +Pareena Verma,Arm,pareenaverma,pareena-verma-7853607,, Ronan Synnott,Arm,,ronansynnott,, Florent Lebeau,Arm,,,, Brenda Strech,Remote.It,bstrech,bstrech,@remote_it,www.remote.it @@ -36,4 +36,9 @@ Adnan AlSinan,Arm,,,, Graham Woodward,Arm,,,, Basma El Gaabouri,Arm,,,, Gayathri Narayana Yegna Narayanan,Arm,,,, -Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/ \ No newline at end of file +Alexandros Lamprineas,Arm,,,, +Annie Tallund,Arm,annietllnd,annietallund,, +Cyril Rohr,RunsOn,crohr,cyrilrohr,, +Rin Dobrescu,Arm,,,, +Przemyslaw Wirkus,Arm,PrzemekWirkus,przemyslaw-wirkus-78b73352,, +Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/ \ No newline at end of file From 9625cb7cc8dd832af3de1554da49fa0ce5e6832a Mon Sep 17 00:00:00 2001 From: Konstantinos Margaritis Date: Thu, 31 Oct 2024 13:27:53 +0200 Subject: [PATCH 11/15] SIMD.info LP final changes made --- .../cross-platform/simd-info-demo/_index.md | 27 ++-- .../simd-info-demo/_next-steps.md | 16 +-- .../cross-platform/simd-info-demo/_review.md | 37 +++-- .../simd-info-demo/conclusion.md | 17 +++ .../cross-platform/simd-info-demo/how-to-1.md | 14 -- .../cross-platform/simd-info-demo/how-to-2.md | 75 ---------- .../cross-platform/simd-info-demo/how-to-4.md | 34 ----- .../cross-platform/simd-info-demo/how-to-6.md | 95 ------------- .../simd-info-demo/intro-to-simdinfo.md | 17 +++ .../simd-info-demo/simdinfo-description.md | 75 ++++++++++ .../simd-info-demo/simdinfo-example1-cont.md | 33 +++++ ...w-to-5.md => simdinfo-example1-porting.md} | 39 ++++-- .../{how-to-3.md => simdinfo-example1.md} | 17 ++- .../simd-info-demo/simdinfo-example2.md | 128 ++++++++++++++++++ 14 files changed, 349 insertions(+), 275 deletions(-) create mode 100644 content/learning-paths/cross-platform/simd-info-demo/conclusion.md delete mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-1.md delete mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-2.md delete mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-4.md delete mode 100644 content/learning-paths/cross-platform/simd-info-demo/how-to-6.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/intro-to-simdinfo.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/simdinfo-description.md create mode 100644 content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-cont.md rename content/learning-paths/cross-platform/simd-info-demo/{how-to-5.md => simdinfo-example1-porting.md} (50%) rename content/learning-paths/cross-platform/simd-info-demo/{how-to-3.md => simdinfo-example1.md} (63%) create mode 100644 content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md diff --git a/content/learning-paths/cross-platform/simd-info-demo/_index.md b/content/learning-paths/cross-platform/simd-info-demo/_index.md index 2a23378e3f..2f4aad28a7 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/_index.md +++ b/content/learning-paths/cross-platform/simd-info-demo/_index.md @@ -1,31 +1,38 @@ --- -title: SIMD.info Tool Demonstration +title: Introduction to SIMD.info minutes_to_complete: 30 -who_is_this_for: This is for software developers looking to understand SIMD code portability across platforms. +who_is_this_for: This is for software developers interested in porting SIMD code across platforms. learning_objectives: - - Learn how to use SIMD.info’s tools and features, such as navigation, search, and comparison, to simplify the process of finding equivalent SIMD instructions and improving code portability. + - Learn how to use SIMD.info’s tools and features, such as navigation, search, and comparison, to simplify the process of finding equivalent SIMD intrinsics between architectures and improving code portability. prerequisites: - - A basic understanding of SIMD instructions and how they are used in parallel processing. - - Access to a platform with SIMD supported engine, with recent versions of a C compiler (Clang or GCC) installed. + - A basic understanding of SIMD. + - Access to an Arm platform with SIMD supported engine, with recent versions of a C compiler (Clang or GCC) installed. author_primary: Georgios Mermigkis & Konstantinos Margaritis, VectorCamp ### Tags skilllevels: Advanced -subjects: Platform Porting +subjects: Performance and Architecture armips: - - PLACEHOLDER IP A - - PLACEHOLDER IP B + - Aarch64 + - Armv8-a + - Armv9-a tools_software_languages: - GCC - - SIMD - - CODING + - Clang + - Coding + - Rust operatingsystems: - Linux +shared_path: true +shared_between: + - laptops-and-desktops + - servers-and-cloud-computing + - smartphones-and-mobile ### FIXED, DO NOT MODIFY # ================================================================================ diff --git a/content/learning-paths/cross-platform/simd-info-demo/_next-steps.md b/content/learning-paths/cross-platform/simd-info-demo/_next-steps.md index c4ae77cc92..320c29c6e1 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/_next-steps.md +++ b/content/learning-paths/cross-platform/simd-info-demo/_next-steps.md @@ -1,20 +1,12 @@ --- -next_step_guidance: PLACEHOLDER TEXT 1 +next_step_guidance: You should explore **SIMD.info** more and find out porting opportunities between different SIMD engines. -recommended_path: /learning-paths/PLACEHOLDER_CATEGORY/PLACEHOLDER_LEARNING_PATH/ +recommended_path: /learning-paths/cross-platform/ further_reading: - resource: - title: PLACEHOLDER MANUAL - link: PLACEHOLDER MANUAL LINK - type: documentation - - resource: - title: PLACEHOLDER BLOG - link: PLACEHOLDER BLOG LINK - type: blog - - resource: - title: PLACEHOLDER GENERAL WEBSITE - link: PLACEHOLDER GENERAL WEBSITE LINK + title: SIMD.info + link: https://simd.info type: website diff --git a/content/learning-paths/cross-platform/simd-info-demo/_review.md b/content/learning-paths/cross-platform/simd-info-demo/_review.md index 9b1bfb96fe..cc6a2a64d0 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/_review.md +++ b/content/learning-paths/cross-platform/simd-info-demo/_review.md @@ -2,37 +2,36 @@ review: - questions: question: > - PLACEHOLDER QUESTION 1? + What is SIMD.info? answers: - - PLACEHOLDER ANSWER A - - PLACEHOLDER ANSWER B + - An online resource for SIMD C intrinsics for all major architectures + - It's an online forum for SIMD developers + - A book about SIMD programming correct_answer: 1 explanation: > - PLACEHOLDER EXPLANATION 1 + While it allows comments in the SIMD intrinsics, SIMD.info is not really a forum. It is an online **free** resource to assist developers porting C code between popular architectures, for example, from SSE/AVX/AVX512 to Arm ASIMD. - questions: question: > - PLACEHOLDER QUESTION 2? + What architectures are listed in SIMD.info? answers: - - PLACEHOLDER ANSWER A - - PLACEHOLDER ANSWER B - - PLACEHOLDER ANSWER C - - PLACEHOLDER ANSWER D - correct_answer: 4 + - Intel SSE and Arm ASIMD + - Power VSX and Arm ASIMD/SVE + - Intel SSE4.2/AVX/AVX2/AVX512, Arm ASIMD, Power VSX + correct_answer: 3 explanation: > - PLACEHOLDER EXPLANATION 2 - + At the time of writing SIMD.info supports Intel SSE4.2/AVX/AVX2/AVX512, Arm ASIMD, Power VSX as SIMD architectures. Work is in progress to include Arm SVE/SVE2, MIPS MSA, RISC-V RVV 1.0, s390 Z and others. + - questions: question: > - PLACEHOLDER QUESTION 3? + What are SIMD.info's major features? answers: - - PLACEHOLDER ANSWER A - - PLACEHOLDER ANSWER B - - PLACEHOLDER ANSWER C - - PLACEHOLDER ANSWER D - correct_answer: 2 + - Hierarchical tree, Search, AI code translation + - Search, Hierarchical tree, Code examples + - Hierarchical tree, Search, Intrinsics Comparison, Code examples, Equivalents mapping, links to official documentation + correct_answer: 3 explanation: > - PLACEHOLDER EXPLANATION 3 + SIMD.info provides multiple features, including a hierarchical tree, Search facility, Intrinsics Comparison, Code examples, Equivalents mapping, links to official documentation and others. AI code translation is not a feature of SIMD.info but will be the focus of another project, SIMD.ai. diff --git a/content/learning-paths/cross-platform/simd-info-demo/conclusion.md b/content/learning-paths/cross-platform/simd-info-demo/conclusion.md new file mode 100644 index 0000000000..9b4a619b19 --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/conclusion.md @@ -0,0 +1,17 @@ +--- +title: Conclusion +weight: 8 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +### Conclusion and Additional Resources + +Porting SIMD code between architecture can be a daunting process, in many cases requiring many hours of studying multiple ISAs in online resources or ISA manuals of thousands pages. + +Using **[SIMD.info](https://simd.info)** can be be instrumental in reducing the amount of time spent in this process, providing a centralized and user-friendly resource for finding **NEON** equivalents to intrinsics of other architectures. It saves considerable time and effort by offering detailed descriptions, prototypes, and comparisons directly, eliminating the need for extensive web searches and manual lookups. + +While porting between vectors of different sizes is more complex, work is underway -at the time of writing this guide- to complete integration of **SVE**/**SVE2** Arm extensions and allow matching them with **AVX512** intrinsics, as they are both using predicate masks. + +Please check **[SIMD.info](https://simd.info)** regularly for updates on this. diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md deleted file mode 100644 index 16aedb9891..0000000000 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-1.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Overview & Context -weight: 2 - -### FIXED, DO NOT MODIFY -layout: learningpathall ---- - -### Introduction to SIMD.info and VectorCamp - -### The Challenge of SIMD Code Portability -One of the biggest challenges developers face when working with SIMD code is making it portable across different platforms. SIMD instructions are designed to speed up operations by performing the same action on multiple data points in parallel. However, each architecture has its own set of SIMD instructions, making it difficult to write code that works on all of them without major changes. - -When you're developing for Intel, for example, you might use specific instructions like SSE or AVX or AVX512. But when you try to run that same code on ARM's NEON, the differences in instruction sets and data handling require careful attention. This lack of portability increases development time and introduces the risk of errors during the porting process. Currently, developers rely on ISA documentation (Intel, ARM) and manually search across various platforms like [Intel Intrinsics Guide](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html) and [ARM Developer](https://developer.arm.com/architectures/instruction-sets/intrinsics/) to find equivalent instructions. Tools like SIMD.info aim to solve this by helping you find equivalent instructions and providing a more streamlined way to adapt your code for different architectures. \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md deleted file mode 100644 index e5b8d73efc..0000000000 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-2.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: SIMD.info Features -weight: 3 - -### FIXED, DO NOT MODIFY -layout: learningpathall ---- - -### Comprehensive SIMD.info Capabilities -[SIMD.info](https://simd.info/) offers a variety of powerful tools to help developers work more efficiently with SIMD code across different architectures. With a database of over 12,000 intrinsics, it provides detailed information to support effective SIMD development. -For each intrinsic (instruction), SIMD.info provides comprehensive details, including: - -1. **Purpose**: A brief description of what the intrinsic does and its primary use case. -2. **Result**: Explanation of the output or result of the intrinsic. -3. **Example**: A code snippet demonstrating how to use the intrinsic. -4. **Prototypes**: Function prototypes for different programming languages (e.g., C/C++). -5. **Assembly Instruction**: The corresponding assembly language instruction for the intrinsic. -6. **Notes**: Any additional notes or caveats about the intrinsic. -7. **Architecture**: List of architectures that support the intrinsic (e.g., Intel, ARM, Power). -8. **Link to Official Documentation**: A link to the official documentation for further details. - -This detailed information ensures you have all the necessary resources to effectively use and port SIMD instructions across different platforms. Each feature is designed to simplify navigation, improve the search for equivalent instructions, and foster a collaborative environment for knowledge-sharing. - -- **Tree-based navigation:** SIMD.info uses a clear, hierarchical layout to organize instructions. It categorizes instructions into broad groups like Arithmetic, which are further divided into specific subcategories such as Vector Add and Vector Subtract. This organized structure makes it straightforward to browse through SIMD instruction sets across various platforms, allowing you to efficiently find and access the exact instructions you need. For example, this is how the tree structure might look: - - - **Arithmetic** - - **Arithmetic (Complex Numbers)** - - **Boolean Logic & Bit Manipulation** - - **Boolean AND** - - **Boolean AND NOT** - - **Boolean AND NOT 128-bit vector** - - **Boolean AND NOT 16-bit signed integers** - - **Boolean AND NOT 16-bit unsigned integers** - - **Boolean AND NOT 256-bit vector** - - **Boolean AND NOT 32-bit floats** - - **Boolean AND NOT 32-bit signed integers** - - AVX512: mm512_andnot_epi32 - - NEON: vbic_s32 - - NEON: vbicq_s32 - - VSX: vec_andc - - **Bit Clear** - - **XOR** - -- **Advanced search functionality:** With its robust search engine, SIMD.info allows you to either search for a specific intrinsic (e.g. vadd_p64) or enter more general terms (e.g. How to add 2 vectors), and it will return the corresponding intrinsics. You can also filter results based on the specific engine you're working with, such as VSX, NEON, SSE4.2, AVX, AVX512. This functionality streamlines the process of finding the right commands tailored to your project needs. - -- **Comparison tools:** This feature lets you directly compare SIMD instructions from different (or the same) platforms side by side, offering a clear view of the similarities and differences. It’s an invaluable tool for porting code across architectures, as it ensures accuracy and efficiency. - -- **Discussion forum (Stack Overflow-type):** The integrated discussion forum, powered by **[discuss](https://disqus.com/)** allows users to ask questions, share insights, and troubleshoot problems together. This community-driven space ensures that you’re never stuck on a complex issue without support, fostering collaboration and knowledge-sharing among SIMD developers. - -### Work in Progress & Future Development -- **Pseudo-code:** Currently under development, this feature will enable users to generate high-level pseudo-code based on specific SIMD instructions. This tool aims to enable better understanding of the SIMD instructions. This will also be used in the next feature, which will be **intrinsic diagrams** . - -- **Intrinsic diagrams:** A feature under progress, creating detailed diagrams for each intrinsic to visualize how it operates on a low level using registers. These diagrams will help developers grasp the mechanics of SIMD instructions more clearly, aiding in optimization and debugging. - -- **[SIMD.ai](https://simd.ai/):** SIMD.ai is an upcoming feature that promises to bring AI-assisted insights and recommendations to the SIMD development process, making it faster and more efficient to write and port SIMD code. - -### How These Features Aid in SIMD Development -SIMD.info offers a range of features that streamline the process of porting SIMD code across different architectures. The hierarchical structure of tree-based navigation allows you to easily locate instructions within a clear framework. This organization into broad categories and specific subcategories, such as Arithmetic and Boolean Logic, makes it straightforward to identify the relevant SIMD instructions needed for your project. - -When you need to port code from one architecture to another, the advanced search functionality proves invaluable. You can either search for specific intrinsics or use broader terms to find equivalent instructions across platforms. This capability ensures you quickly find the right commands for Intel, ARM, or Power architectures, facilitating a smoother transition between different SIMD environments. - -Furthermore, SIMD.info’s comparison tools enhance this process by enabling side-by-side comparisons of instructions from various platforms. This feature highlights the similarities and differences between instructions, which is crucial for accurately adapting your code. By understanding how similar operations are implemented across architectures, you can ensure that your ported code performs optimally. - -Additionally, the discussion forum provides a space where you can seek advice and share insights with other developers. This collaborative environment is especially useful for troubleshooting issues and gaining practical tips for effective code porting. - -Overall, SIMD.info equips you with the tools needed to efficiently port SIMD code, making it easier to adapt and optimize your software across different architectures. - - - - - - - - diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md deleted file mode 100644 index 580c92188d..0000000000 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-4.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Porting Process -weight: 5 - -### FIXED, DO NOT MODIFY -layout: learningpathall ---- - -### Using SIMD.info to Find NEON Equivalents -Now that you have a clear view of the example, you can start the process of porting the code to NEON. This is where [SIMD.info](https://simd.info/) comes in. In SIMD programming, the primary concern is usually the calculations, as they constitute the core workload of the program. Ensuring that these calculations are correctly ported and optimized is crucial for maintaining performance and correctness. - -For the operations in your SSE4.2 example, you have the following intrinsics: - -- **_mm_cmpgt_ps** -- **_mm_add_ps** -- **_mm_mul_ps** -- **_mm_sqrt_ps** - -To gain a deeper understanding of how these intrinsics work and to get detailed descriptions, you can use the search feature on SIMD.info. Simply enter the intrinsic's name into the search bar. You can either select from the suggested results or perform a direct search to find detailed information about each intrinsic. - -1. By searching [_mm_add_ps](https://simd.info/c_intrinsic/_mm_add_ps/) you get information about it's purpose, result-type, assembly instruction, prototype and an example about it. By clicking the **engine** option **"NEON"** you can find it's [equivalents](https://simd.info/eq/_mm_add_ps/NEON/) for this engine. The equivalents are: **vaddq_f32**, **vadd_f32**. Now you are trying to choose which one to use. [Intrinsic comparison](https://simd.info/c-intrinsics-compare?compare=vaddq_f32:vadd_f32) will help you get through this. Based on the prototype provided, you should choose [**vaddq_f32**](https://simd.info/c_intrinsic/vaddq_f32/) because it works with 128-bit vectors which is the same as SSE4.2. - -2. Moving to the next intrinsic, **_mm_mul_ps**, you will use the [intrinsics tree](https://simd.info/tag-tree) on SIMD.info to find the equivalent. Start by expanding the **Arithmetic** folder and then navigate to the subfolder **Vector Multiply**. Since you are working with 32-bit floats, open the **Vector Multiply 32-bit floats** subfolder, where you will several options. The recommended choice is [**vmulq_f32**](https://simd.info/c_intrinsic/vmulq_f32/), following the same reasoning as before—it operates on 128-bit vectors, just like in SSE4.2. - -3. For the third intrinsic, **_mm_sqrt_ps**, the easiest way to find the corresponding NEON intrinsic is by typing **"Square Root"** into the search bar on SIMD.info. From the [search results](https://simd.info/search?search=Square+Root&simd_engines=1&simd_engines=2&simd_engines=3&simd_engines=4&simd_engines=5), look for the float-specific version and select [**vsqrtq_f32**](https://simd.info/c_intrinsic/vsqrtq_f32/), which, like the others, works with 128-bit vectors. In the equivalents section regarding SSE4.2, you can clearly see that **_mm_sqrt_ps** has its place as a direct match for this operation. - -4. For the last intrinsic, **_mm_cmpgt_ps**, follow a similar approach as before. Using the intrinsics tree on SIMD.info, start by expanding the **Comparison** folder. Navigate to the subfolder **Vector Compare Greater Than**, and since you are working with 32-bit floats, proceed to **Vector Compare Greater Than 32-bit floats**. The recommended choice is [**vcgtq_f32**](https://simd.info/c_intrinsic/vcgtq_f32/), as it operates on 128-bit vectors, just like in SSE4.2. - -Now that you have found the NEON equivalents for each SSE4.2 intrinsic, you're ready to begin porting the code. Understanding these equivalents is key to ensuring that the performance and correctness of the calculations remain intact as you switch between SIMD engines. - -### Step-by-Step Porting -1. The first step is to change the loading process to follow NEON's method for initializing vectors. Unlike SSE4.2, where we use intrinsics like _mm_set_ps, in NEON, we can directly define the vector using curly braces {}. This is simpler and aligns with how NEON works with floating-point vectors. -2. Next, you will replace the SSE4.2 intrinsics with the NEON equivalents we identified earlier. The key is to ensure that the operations perform the same tasks, such as comparison, addition, multiplication, and square root calculations. -3. Finally, modify the storing process to match NEON’s way of moving data from vectors to memory. In NEON, you use functions like vst1q_f32 for storing 128-bit floating-point vectors and [**vst1q_u32**](https://simd.info/c_intrinsic/vst1q_u32/) for storing 128-bit integer vectors. \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md b/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md deleted file mode 100644 index 8f43245567..0000000000 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-6.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Complex Example -weight: 7 - -### FIXED, DO NOT MODIFY -layout: learningpathall ---- - -### Handling Intrinsics Without Direct Equivalents -As we successfully port the code from SSE4.2 to NEON, we observe that certain instructions translate seamlessly. However, there are cases where direct equivalents for some intrinsics may not be readily available across architectures. For example, the [**_mm_hadd_ps**](https://simd.info/c_intrinsic/_mm_hadd_ps/) intrinsic from SSE4.2, which performs horizontal addition of packed single-precision floating-point elements, does not have a direct counterpart in NEON. - -In this situation, SIMD.info’s purpose description becomes essential for understanding the operation at a high level. By analyzing the core functionality of **_mm_hadd_ps**, we can implement an alternative solution using available NEON intrinsics. For **_mm_hadd_ps**, which combines the elements of two vectors in a way that sums adjacent elements both horizontally and vertically, we break down the operation into a series of steps. For instance, to achieve the same result, we extract the [lower](https://simd.info/c_intrinsic/vget_low_f32/) and [upper](https://simd.info/c_intrinsic/vget_high_f32/) halves of the vectors, perform horizontal additions on each half separately using [vpadd_f32](https://simd.info/c_intrinsic/vpadd_f32/), and then [combine](https://simd.info/c_intrinsic/vcombine_f32/) the results into a single vector. This approach ensures that the intended horizontal addition operation is preserved, even though there is no direct one-to-one match between SSE4.2 and NEON for this specific instruction. - -Consider the following code for SSE4.2. Create a new file for the code named complex_sse.c with the contents shown below: -```C -#include -#include - -int main() { - __m128 a = _mm_set_ps(1.0f, 2.0f, 3.0f, 4.0f); - __m128 b = _mm_set_ps(5.0f, 6.0f, 7.0f, 8.0f); - - __m128 res = _mm_hadd_ps(a, b); - - float out[4]; - _mm_storeu_ps(out, res); - - printf("SSE4.2 Result: %.2f %.2f %.2f %.2f\n", out[0], out[1], out[2], out[3]); - return 0; -} -``` - -Compile the code as follows using a machine that supports SSE-Vector-Extension: -```bash -gcc -O3 -msse4.2 complex_sse.c -o complex_sse -march=native -``` - -Now run the program: -```bash -./complex_sse -``` - -The output should look like: -```output -SSE4.2 Result: 7.00 3.00 15.00 11.00 -``` - -To achieve the same result with NEON, follow these steps using the equivalents we discussed. Implement the corresponding NEON code that extracts the lower and upper halves of the vectors, performs horizontal additions, and combines the results. Create a new file for the NEON code named complex_neon.c with the contents shown below: -```C -#include -#include - -int main() { - float32x4_t a = {1.0f, 2.0f, 3.0f, 4.0f}; - float32x4_t b = {5.0f, 6.0f, 7.0f, 8.0f}; - - float32x2_t a_low = vget_low_f32(a); - float32x2_t a_high = vget_high_f32(a); - float32x2_t b_low = vget_low_f32(b); - float32x2_t b_high = vget_high_f32(b); - - float32x2_t a_sum_low = vpadd_f32(a_low, a_high); - float32x2_t b_sum_low = vpadd_f32(b_low, b_high); - - float32x4_t result = vcombine_f32(a_sum_low, b_sum_low); - - float res[4]; - vst1q_f32(res, result); - - printf("NEON Result: %.2f %.2f %.2f %.2f\n", res[0], res[1], res[2], res[3]); - return 0; -} -``` - -Compile the code as follows using a machine that supports NEON-Vector-Extension: -```bash -gcc -O3 complex_neon.c -o complex_neon -march=native -``` - -Now run the program: -```bash -./complex_neon -``` - -The output should look like: -```output -NEON Result: 3.00 7.00 11.00 15.00 -``` - -The results match, although the order differs due to how the data is handled in each architecture. SIMD.info was especially helpful in this process, providing detailed descriptions and examples that guided the translation of complex intrinsics between different SIMD architectures. - -### Conclusion and Additional Resources -In conclusion, porting SIMD code from SSE4.2 to NEON demonstrates how well the two architectures can be aligned to perform equivalent operations. SIMD.info was instrumental in this process, providing a centralized and user-friendly resource for finding NEON equivalents to SSE4.2 intrinsics. It saved considerable time and effort by offering detailed descriptions, prototypes, and comparisons directly, eliminating the need for extensive web searches and manual lookups. While porting between vectors of different sizes is more complex, work is already underway to match instructions like SVE/SVE2 with AVX512. - -For those interested in further exploration, consider diving into additional resources such as SIMD documentation, architecture manuals, and online forums. These can provide deeper insights into SIMD optimizations and new techniques. Leveraging these resources will enhance your understanding and ability to work with various SIMD architectures efficiently. \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/intro-to-simdinfo.md b/content/learning-paths/cross-platform/simd-info-demo/intro-to-simdinfo.md new file mode 100644 index 0000000000..897a109e08 --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/intro-to-simdinfo.md @@ -0,0 +1,17 @@ +--- +title: Overview & Context +weight: 2 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +### The Challenge of SIMD Code Portability +One of the biggest challenges developers face when working with SIMD code is making it portable across different platforms. SIMD instructions are designed to increase performance by executing the same operation on multiple data elements in parallel. However, each architecture has its own set of SIMD instructions, making it difficult to write code that works on all of them without major changes to the code and/or algorithm. + +Consider you have the task of porting a software written using Intel intrinsics, like SSE/AVX/AVX512, to Arm Neon. +The differences in instruction sets and data handling require careful attention. + +This lack of portability increases development time and introduces the risk of errors during the porting process. Currently, developers rely on ISA documentation and manually search across various vendor platforms like [ARM Developer](https://developer.arm.com/architectures/instruction-sets/intrinsics/) and [Intel Intrinsics Guide](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html) to find equivalent instructions. + +[SIMD.info](https://simd.info) aims to solve this by helping you find equivalent instructions and providing a more streamlined way to adapt your code for different architectures. diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-description.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-description.md new file mode 100644 index 0000000000..1837a87e4c --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-description.md @@ -0,0 +1,75 @@ +--- +title: SIMD.info Features +weight: 3 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +### Comprehensive SIMD.info Capabilities +**[SIMD.info](https://simd.info/)** offers a variety of powerful tools to help developers work more efficiently with SIMD code across different architectures. With a database of over 10,000 intrinsics, it provides detailed information to support effective SIMD development. + +For each intrinsic, SIMD.info provides comprehensive details, including: + +1. **Purpose**: A brief description of what the intrinsic does and its primary use case. +2. **Result**: Explanation of the output or result of the intrinsic. +3. **Example**: A code snippet demonstrating how to use the intrinsic. +4. **Prototypes**: Function prototypes for different programming languages (currently C/C++). +5. **Assembly Instruction**: The corresponding assembly instruction used by the intrinsic. +6. **Notes**: Any additional notes or caveats about the intrinsic. +7. **Architecture**: List of architectures that support the intrinsic +8. **Link(s) to Official Documentation** + +This detailed information ensures you have all the necessary resources to effectively use and port SIMD instructions across different platforms. Each feature is designed to simplify navigation, improve the search for equivalent instructions, and foster a collaborative environment for knowledge-sharing. + +- **Tree-based navigation:** **SIMD.info** uses a clear, hierarchical layout to organize instructions. It categorizes instructions into broad groups like **Arithmetic**, which are further divided into specific subcategories such as **Vector Add** and **Vector Subtract**. This organized structure makes it straightforward to browse through SIMD instruction sets across various platforms, allowing you to efficiently find and access the exact instructions you need. +An example of how the tree structure looks like: + + + - **Arithmetic** + - **Arithmetic (Complex Numbers)** + - **Boolean Logic & Bit Manipulation** + - **Boolean AND** + - **Boolean AND NOT** + - **Boolean AND NOT 128-bit vector** + - **Boolean AND NOT 16-bit signed integers** + - **Boolean AND NOT 16-bit unsigned integers** + - **Boolean AND NOT 256-bit vector** + - **Boolean AND NOT 32-bit floats** + - **Boolean AND NOT 32-bit signed integers** + - AVX512: mm512_andnot_epi32 + - NEON: vbic_s32 + - NEON: vbicq_s32 + - VSX: vec_andc + - **Bit Clear** + - **XOR** + +- **Advanced search functionality:** With its robust search engine, **SIMD.info** allows you to either search for a specific intrinsic (e.g. `vaddq_f64`) or enter more general terms (e.g. *How to add 2 vectors*), and it will return a list of the corresponding intrinsics. You can also filter results based on the specific engine you're working with, such as **NEON**, **SSE4.2**, **AVX**, **AVX512**, **VSX**. This functionality streamlines the process of finding the right commands tailored to your needs. + +- **Comparison tools:** This feature lets you directly compare SIMD instructions from different (or the same) platforms side by side, offering a clear view of the similarities and differences. It’s an invaluable tool for porting code across architectures, as it ensures accuracy and efficiency. + +- **Discussion forum (like StackOverflow):** The integrated discussion forum, powered by **[discuss](https://disqus.com/)** allows users to ask questions, share insights, and troubleshoot problems together. This community-driven space ensures that you’re never stuck on a complex issue without support, fostering collaboration and knowledge-sharing among SIMD developers. Imagine something like **StackOverflow** but specific to SIMD intrinsics. + +### Work in Progress & Future Development +- **Pseudo-code:** Currently under development, this feature will enable users to generate high-level pseudo-code based on specific SIMD instructions. This tool aims to enable better understanding of the SIMD instructions, in a *common language*. This will also be used in the next feature, **Intrinsics Diagrams**. + +- **Intrinsics Diagrams:** A feature under progress, creating detailed diagrams for each intrinsic to visualize how it operates on a low level using registers. These diagrams will help you grasp the mechanics of SIMD instructions more clearly, aiding in optimization and debugging. + +- **[SIMD.ai](https://simd.ai/):** SIMD.ai is an upcoming feature that promises to bring AI-assisted insights and recommendations to the SIMD development process, making it faster and more efficient to port SIMD code between architectures. + +### How These Features Aid in SIMD Development +**[SIMD.info](https://simd.info/)** offers a range of features that streamline the process of porting SIMD code across different architectures. The hierarchical structure of tree-based navigation allows you to easily locate instructions within a clear framework. This organization into broad categories and specific subcategories, such as **Arithmetic** and **Boolean Logic**, makes it straightforward to identify the relevant SIMD instructions. + +When you need to port code from one architecture to another, the advanced search functionality proves invaluable. You can either search for specific intrinsics or use broader terms to find equivalent instructions across platforms. This capability ensures that you quickly find the right intrinsics for Arm, Intel or Power architectures. + +Furthermore, **SIMD.info**’s comparison tools enhance this process by enabling side-by-side comparisons of instructions from various platforms. This feature highlights the similarities and differences between instructions, which is crucial for accurately adapting your code. By understanding how similar operations are implemented across architectures, you can ensure that your ported code performs optimally. + +Let's look at an actual example. + + + + + + + diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-cont.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-cont.md new file mode 100644 index 0000000000..6a8e1c4463 --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-cont.md @@ -0,0 +1,33 @@ +--- +title: Porting Process +weight: 5 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +### Using SIMD.info to find NEON Equivalents +Now that you have a clear view of the example, you can start the process of porting the code to Arm **Neon/ASIMD**. + +This is where [SIMD.info](https://simd.info/) comes in. + +In SIMD programming, the primary concern is the integrity and accuracy of the calculations. Ensuring that these calculations are done correctly is crucial. Performance almost always comes second. + +For the operations in your **SSE4.2** example, you have the following intrinsics: + +- **`_mm_cmpgt_ps`** +- **`_mm_add_ps`** +- **`_mm_mul_ps`** +- **`_mm_sqrt_ps`** + +To gain a deeper understanding of how these intrinsics work and to get detailed descriptions, you can use the search feature on **SIMD.info**. Simply enter the intrinsic's name into the search bar. You can either select from the suggested results or perform a direct search to find detailed information about each intrinsic. + +1. By searching [**`_mm_add_ps`**](https://simd.info/c_intrinsic/_mm_add_ps/) you get information about it's purpose, result-type, assembly instruction, prototype and an example about it. By clicking the **engine** option **"NEON"** you can find it's [equivalents](https://simd.info/eq/_mm_add_ps/NEON/) for this engine. The equivalents are: **`vaddq_f32`**, **`vadd_f32`**. [Intrinsics comparison](https://simd.info/c-intrinsics-compare?compare=vaddq_f32:vadd_f32) will help you find the right one. Based on the prototype provided, you would choose [**`vaddq_f32`**](https://simd.info/c_intrinsic/vaddq_f32/) because it works with 128-bit vectors which is the same as **SSE4.2**. + +2. Moving to the next intrinsic, **`_mm_mul_ps`**, you will use the [Intrinsics Tree](https://simd.info/tag-tree) on **SIMD.info** to find the equivalent. Start by expanding the **Arithmetic** branch and then navigate to the branch **Vector Multiply**. Since you are working with 32-bit floats, open the **Vector Multiply 32-bit floats** branch, where you will find several options. The recommended choice is [**`vmulq_f32`**](https://simd.info/c_intrinsic/vmulq_f32/), following the same reasoning as before—it operates on 128-bit vectors. + +3. For the third intrinsic, **`_mm_sqrt_ps`**, the easiest way to find the corresponding **NEON** intrinsic is by typing **"Square Root"** into the search bar on SIMD.info. From the [search results](https://simd.info/search?search=Square+Root&simd_engines=1&simd_engines=2&simd_engines=3&simd_engines=4&simd_engines=5), look for the float-specific version and select [**`vsqrtq_f32`**](https://simd.info/c_intrinsic/vsqrtq_f32/), which, like the others, works with 128-bit vectors. In the equivalents section regarding **SSE4.2**, you can clearly see that **`_mm_sqrt_ps`** has its place as a direct match for this operation. + +4. For the last intrinsic, **`_mm_cmpgt_ps`**, follow a similar approach as before. Inside the intrinsics tree, start by expanding the **Comparison** folder. Navigate to the subfolder **Vector Compare Greater Than**, and since you are working with 32-bit floats, proceed to **Vector Compare Greater Than 32-bit floats**. The recommended choice is again the 128-bit variant [**`vcgtq_f32`**](https://simd.info/c_intrinsic/vcgtq_f32/). + +Now that you have found the **NEON** equivalents for each **SSE4.2** intrinsic, you're ready to begin porting the code. Understanding these equivalents is key to ensuring that the code produces the correct results in the calculations as you switch between SIMD engines. diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md similarity index 50% rename from content/learning-paths/cross-platform/simd-info-demo/how-to-5.md rename to content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md index 393ba8ef8e..bfad9c6065 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-5.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md @@ -6,8 +6,16 @@ weight: 6 layout: learningpathall --- -### Verifying the Ported Code -After successfully porting the code from SSE4.2 to NEON, it's time to verify that the functionality remains intact and performs as expected. Porting SIMD code involves translating low-level operations, and it's critical to ensure that the behavior is consistent in both performance and results. To do this, you will write a simple program that mimics the original SSE operations but now uses NEON intrinsics. Create a new file for the ported NEON code named calculation_sse.c with the contents shown below: +### Step-by-Step Porting + +1. Change the loading process to follow **NEON**'s method for initializing vectors. The **SSE4.2** intrinsic **`_mm_set_ps`** is in reality a macro, in **NEON** you can do the same thing with curly braces **`{}`** inititialization. +2. Next, you will replace the **SSE4.2** intrinsics with the **NEON** equivalents we identified earlier. The key is to ensure that the operations perform the same tasks, such as comparison, addition, multiplication, and square root calculations. +3. Finally, modify the storing process to match **NEON**’s way of moving data from vectors to memory. In **NEON**, you use functions like [**`vst1q_f32`**](https://simd.info/c_intrinsic/vst1q_f32/) for storing 128-bit floating-point vectors and [**`vst1q_u32`**](https://simd.info/c_intrinsic/vst1q_u32/) for storing 128-bit integer vectors. + +After identifying the **NEON** intrinsics you will need in the ported program, it's time to actually write the code. + +Create a new file for the ported NEON code named `calculation_neon.c` with the contents shown below: + ```C #include #include @@ -20,7 +28,7 @@ int main() { float a_arr[4], b_arr[4]; uint32_t cmp_res[4]; - + vst1q_f32(a_arr, a); vst1q_f32(b_arr, b); vst1q_u32(cmp_res, cmp_result); @@ -39,10 +47,10 @@ int main() { float32x4_t sqrt_result = vsqrtq_f32(mul_result); float res[4]; - + vst1q_f32(res, add_result); printf("Addition Result: %.2f %.2f %.2f %.2f\n", res[0], res[1], res[2], res[3]); - + vst1q_f32(res, mul_result); printf("Multiplication Result: %.2f %.2f %.2f %.2f\n", res[0], res[1], res[2], res[3]); @@ -53,9 +61,14 @@ int main() { } ``` -Compile the code as follows using a machine that supports NEON-Vector-Extension: +### Verifying the Ported Code + +It's time to verify that the functionality remains the same, which means you get the same results and similar performance. + +Compile the above code as follows on an Arm system: + ```bash -gcc -O3 calculation_neon.c -o calculation_neon -march=native +gcc -O3 calculation_neon.c -o calculation_neon ``` Now run the program: @@ -63,7 +76,8 @@ Now run the program: ./calculation_neon ``` -The output should look like: +The output should look like the following: + ```output Element 0: 1.00 is not larger than 1.00 Element 1: 4.00 is larger than 2.00 @@ -74,5 +88,12 @@ Addition Result: 2.00 6.00 12.00 20.00 Multiplication Result: 2.00 12.00 36.00 80.00 Square Root Result: 1.41 3.46 6.00 8.94 ``` -As you can clearly see, the results are exactly the same as in the SSE4.2 example. However, we initialized the vectors in reverse order compared to the SSE4.2 version because NEON loads vectors from LSB to MSB, ensuring consistent output across both architectures. Additionally, the size of the code remains identical, demonstrating that the NEON code is a direct and efficient translation of the SSE4.2 code. + +You can see that the results are the same as in the **SSE4.2** example. + +{{% notice Note %}} +We initialized the vectors in reverse order compared to the **SSE4.2** version because **{}** bracket initialization loads vectors from LSB to MSB, whereas **`_mm_set_ps`** loads the elements MSB to LSB. +{{% /notice %}} + + diff --git a/content/learning-paths/cross-platform/simd-info-demo/how-to-3.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md similarity index 63% rename from content/learning-paths/cross-platform/simd-info-demo/how-to-3.md rename to content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md index b2aaa58783..2573f36c8e 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/how-to-3.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md @@ -1,13 +1,14 @@ --- -title: Example Setup +title: Example Program weight: 4 ### FIXED, DO NOT MODIFY layout: learningpathall --- -### Introducing the Example Code -We start with an example that uses Intel SIMD (SSE4.2) intrinsics. Create a file named calculation_sse.c with the contents shown below. The program first compares whether elements in one vector are greater than those in another vector, prints the result, and then proceeds to compute the addition of two vectors, multiplies the result with one of the vectors, and finally takes the square root of the multiplication result: +Consider the following C example that uses Intel SSE4.2 intrinsics. + +Create a file named `calculation_sse.c` with the contents shown below. ```C #include @@ -51,9 +52,11 @@ int main() { } ``` -Compile the code as follows using a machine that supports SSE-Vector-Extension: +The program first compares whether elements in one vector are greater than those in another vector, prints the result, and then proceeds to compute the addition of two vectors, multiplies the result with one of the vectors, and finally takes the square root of the multiplication result: + +Compile the code as follows on an Intel system that supports **SSE4.2**: ```bash -gcc -O3 calculation_sse.c -o calculation_sse -march=native +gcc -O3 calculation_sse.c -o calculation_sse -msse4.2 ``` Now run the program: @@ -61,7 +64,7 @@ Now run the program: ./calculation_sse ``` -The output should look like: +The output should look like the following: ```output Element 0: 1.00 is not larger than 1.00 Element 1: 4.00 is larger than 2.00 @@ -73,4 +76,4 @@ Multiplication Result: 2.00 12.00 36.00 80.00 Square Root Result: 1.41 3.46 6.00 8.94 ``` -The reason you run the code first is to make sure you understand how it works and how the results are being produced. If you don't get this right, switching to another engine like NEON won’t help, as the primary concern is that the results should remain the same. +It is imperative that you run the code first on the reference platform (here Intel), to make sure you understand how it works and what kind of results are being expected. diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md new file mode 100644 index 0000000000..ae287af64b --- /dev/null +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md @@ -0,0 +1,128 @@ +--- +title: Intrinsics without Equivalents +weight: 7 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +### Handling intrinsics without direct equivalents + +During the porting process, you will observe that certain instructions translate seamlessly. However, there are cases where direct equivalents for some intrinsics may not be readily available across architectures. For example, the [**`_mm_madd_epi16`**](https://simd.info/c_intrinsic/_mm_madd_epi16/) intrinsic from **SSE2**, which performs multiplication of 16-bit signed integer elements in a vector and then does a pairwise addition of adjacent elements increasing the element width, does not have a direct counterpart in **NEON**. However it can be emulated using another intrinsic. Similarly its 256 and 512-bit counterparts, [**`_mm256_madd_epi16`**](https://simd.info/c_intrinsic/_mm256_madd_epi16/) and [**`_mm512_madd_epi16`**](https://simd.info/c_intrinsic/_mm512_madd_epi16/) can be emulated by a sequence of instructions, but here you will see the 128-bit variant. + +You may already know the equivalent operations for this particular intrinsic, but let's assume you don't. In this usecase, reading the **`_mm_madd_epi16`** on the **SIMD.info** might indicate that a key characteristic of the instruction involved is the *widening* of the result elements, from 16-bit to 32-bit signed integers. Unfortunately, that is not the case, as this particular instruction does not actually increase the size of the element holding the result values. You will see how that effects the result in the example. + +Consider the following code for **SSE2**. Create a new file for the code named `_mm_madd_epi16_test.c` with the contents shown below: + +```C +#include +#include +#include + +void print_s16x8(char *label, __m128i v) { + int16_t out[8]; + _mm_storeu_si128((__m128i*)out, v); + printf("%-*s: ", 30, label); + for (size_t i=0; i < 8; i++) printf("%4x ", (uint16_t)out[i]); + printf("\n"); +} + +int main() { + __m128i a = _mm_set_epi16(10, 30, 50, 70, 90, 110, 130, 150); + __m128i b = _mm_set_epi16(20, 40, 60, 80, 100, 120, 140, 160); + // 130 * 140 = 18200, 150 * 160 = 24000 + // adding them as 32-bit signed integers -> 42000 + // adding them as 16-bit signed integers -> -23336 (overflow!) + + __m128i res = _mm_madd_epi16(a, b); + + print_s16x8("a", a); + print_s16x8("b", b); + print_s16x8("_mm_madd_epi16(a, b)", res); + + return 0; +} +``` + +Compile the code as follows on an x86 system (no extra flags required as **SSE2** is assumed by default on all 64-bit x86 systems): +```bash +gcc -O3 _mm_madd_epi16_test.c -o _mm_madd_epi16_test +``` + +Now run the program: +```bash +./_mm_madd_epi16_test +``` + +The output should look like: +```output +a : 96 82 6e 5a 46 32 1e a +b : a0 8c 78 64 50 3c 28 14 +_mm_madd_epi16(a, b) : a4d8 0 56b8 0 2198 0 578 0 +``` + +You will note that the result of the first element is a negative number, even though we added 2 positive results (`130*140` and `150*160`). That is because the result of the addition has to occupy a 16-bit signed integer element and when the first is larger we have the effect of an negative overflow. The result is the same in binary arithmetic, but when interpreted into a signed integer, it turns the number into a negative. + +The rest of the values are as expected. Notice how each pair has a zero element next to it. The results are correct, but they are not in the correct order. You could get the correct order in multiple ways, using the widening intrinsics **`vmovl`** to zero-extend or using the **`zip`** ones to merge with zero elements. The fastest way is the **`vmovl`** intrinsics, as you can see in the next example: + +```C +#include +#include +#include + +void print_s16x8(char *label, int16x8_t v) { + int16_t out[8]; + vst1q_s16(out, v); + printf("%-*s: ", 30, label); + for (size_t i=0; i < 8; i++) printf("%4x ", (uint16_t) out[i]); + printf("\n"); +} + +int main() { + int16x8_t a = { 150, 130, 110, 90, 70, 50, 30, 10 }; + int16x8_t b = { 160, 140, 120, 100, 80, 60, 40, 20 }; + int16x8_t zero = vdupq_n_s16(0); + // 130 * 140 = 18200, 150 * 160 = 24000 + // adding them as 32-bit signed integers -> 42000 + // adding them as 16-bit signed integers -> -23336 (overflow!) + + int16x8_t res = vmulq_s16(a, b); + + print_s16x8("a", a); + print_s16x8("b", b); + print_s16x8("vmulq_s16(a, b)", res); + res = vpaddq_s16(res, zero); + print_s16x8("vpaddq_s16(a, b)", res); + + // vmovl_s16 would sign-extend we just want to zero-extend + // so we need to cast to uint16, vmovl_u16 and then cast back to int16 + uint16x4_t res_u16 = vget_low_u16(vreinterpretq_u16_s16(res)); + res = vreinterpretq_s16_u32(vmovl_u16(res_u16)); + print_s16x8("final", res); + + return 0; +} +``` + +Write the above program to a file called `_mm_madd_epi16_neon.c` and compile it: + +```bash +gcc -O3 _mm_madd_epi16_neon.c -o _mm_madd_epi16_neon +``` + +Now run the program: +```bash +./_mm_madd_epi16_neon.c +``` + +The output should look like: +```output +a : 96 82 6e 5a 46 32 1e a +b : a0 8c 78 64 50 3c 28 14 +vmulq_s16(a, b) : 5dc0 4718 3390 2328 15e0 bb8 4b0 c8 +vpaddq_s16(a, b) : a4d8 56b8 2198 578 0 0 0 0 +final : a4d8 0 56b8 0 2198 0 578 0 +``` + +As you can see the results of both match, **SIMD.info** was especially helpful in this process, providing detailed descriptions and examples that guided the translation of complex intrinsics between different SIMD architectures. + From b429e681ce2e270f734a3a6d9bd77d3bf8422575 Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Thu, 7 Nov 2024 14:21:23 +0200 Subject: [PATCH 12/15] Based on the comments, we altered the data-loading, used global scope & some minor fixes in other places --- .../simd-info-demo/simdinfo-description.md | 10 +---- .../simdinfo-example1-porting.md | 16 +++----- .../simd-info-demo/simdinfo-example1.md | 7 +++- .../simd-info-demo/simdinfo-example2.md | 39 +++++++++++-------- 4 files changed, 35 insertions(+), 37 deletions(-) diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-description.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-description.md index 1837a87e4c..89f25a23c7 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-description.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-description.md @@ -64,12 +64,4 @@ When you need to port code from one architecture to another, the advanced search Furthermore, **SIMD.info**’s comparison tools enhance this process by enabling side-by-side comparisons of instructions from various platforms. This feature highlights the similarities and differences between instructions, which is crucial for accurately adapting your code. By understanding how similar operations are implemented across architectures, you can ensure that your ported code performs optimally. -Let's look at an actual example. - - - - - - - +Let's look at an actual example. \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md index bfad9c6065..064afba884 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md @@ -20,9 +20,12 @@ Create a new file for the ported NEON code named `calculation_neon.c` with the c #include #include +float32_t a_array[4] = {1.0f, 4.0f, 9.0f, 16.0f}; +float32_t b_array[4] = {1.0f, 2.0f, 3.0f, 4.0f}; + int main() { - float32x4_t a = {1.0f, 4.0f, 9.0f, 16.0f}; - float32x4_t b = {1.0f, 2.0f, 3.0f, 4.0f}; + float32x4_t a = vld1q_f32(a_array); + float32x4_t b = vld1q_f32(b_array); uint32x4_t cmp_result = vcgtq_f32(a, b); @@ -89,11 +92,4 @@ Multiplication Result: 2.00 12.00 36.00 80.00 Square Root Result: 1.41 3.46 6.00 8.94 ``` -You can see that the results are the same as in the **SSE4.2** example. - -{{% notice Note %}} -We initialized the vectors in reverse order compared to the **SSE4.2** version because **{}** bracket initialization loads vectors from LSB to MSB, whereas **`_mm_set_ps`** loads the elements MSB to LSB. -{{% /notice %}} - - - +You can see that the results are the same as in the **SSE4.2** example. \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md index 2573f36c8e..18721affb3 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md @@ -14,9 +14,12 @@ Create a file named `calculation_sse.c` with the contents shown below. #include #include +float a_array[4] = {1.0f, 4.0f, 9.0f, 16.0f}; +float b_array[4] = {1.0f, 2.0f, 3.0f, 4.0f}; + int main() { - __m128 a = _mm_set_ps(16.0f, 9.0f, 4.0f, 1.0f); - __m128 b = _mm_set_ps(4.0f, 3.0f, 2.0f, 1.0f); + __m128 a = _mm_loadu_ps(a_array); + __m128 b = _mm_loadu_ps(b_array); __m128 cmp_result = _mm_cmpgt_ps(a, b); diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md index ae287af64b..d7f8d59681 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md @@ -27,9 +27,13 @@ void print_s16x8(char *label, __m128i v) { printf("\n"); } +int16_t a_array[8] = {10, 30, 50, 70, 90, 110, 130, 150}; +int16_t b_array[8] = {20, 40, 60, 80, 100, 120, 140, 160}; + int main() { - __m128i a = _mm_set_epi16(10, 30, 50, 70, 90, 110, 130, 150); - __m128i b = _mm_set_epi16(20, 40, 60, 80, 100, 120, 140, 160); + + __m128i a = _mm_loadu_si128((__m128i*)a_array); + __m128i b = _mm_loadu_si128((__m128i*)b_array); // 130 * 140 = 18200, 150 * 160 = 24000 // adding them as 32-bit signed integers -> 42000 // adding them as 16-bit signed integers -> -23336 (overflow!) @@ -56,14 +60,14 @@ Now run the program: The output should look like: ```output -a : 96 82 6e 5a 46 32 1e a -b : a0 8c 78 64 50 3c 28 14 -_mm_madd_epi16(a, b) : a4d8 0 56b8 0 2198 0 578 0 +a : a 1e 32 46 5a 6e 82 96 +b : 14 28 3c 50 64 78 8c a0 +_mm_madd_epi16(a, b) : 578 0 2198 0 56b8 0 a4d8 0 ``` -You will note that the result of the first element is a negative number, even though we added 2 positive results (`130*140` and `150*160`). That is because the result of the addition has to occupy a 16-bit signed integer element and when the first is larger we have the effect of an negative overflow. The result is the same in binary arithmetic, but when interpreted into a signed integer, it turns the number into a negative. +You will note that the result of the last element is a negative number, even though we added 2 positive results (`130*140` and `150*160`). That is because the result of the addition has to occupy a 16-bit signed integer element and when the first is larger we have the effect of an negative overflow. The result is the same in binary arithmetic, but when interpreted into a signed integer, it turns the number into a negative. -The rest of the values are as expected. Notice how each pair has a zero element next to it. The results are correct, but they are not in the correct order. You could get the correct order in multiple ways, using the widening intrinsics **`vmovl`** to zero-extend or using the **`zip`** ones to merge with zero elements. The fastest way is the **`vmovl`** intrinsics, as you can see in the next example: +The rest of the values are as expected. Notice how each pair has a zero element next to it. The results are correct, but they are not in the correct order. In this example, we chose to use vmovl to zero-extend values, which achieves the correct order with zero elements in place. While both vmovl and zip could be used for this purpose, we opted for **vmovl** in this implementation. For more details, see the ARM Software Optimization Guides, such as the [Neoverse V2 guide](https://developer.arm.com/documentation/109898/latest/). ```C #include @@ -74,13 +78,16 @@ void print_s16x8(char *label, int16x8_t v) { int16_t out[8]; vst1q_s16(out, v); printf("%-*s: ", 30, label); - for (size_t i=0; i < 8; i++) printf("%4x ", (uint16_t) out[i]); + for (size_t i = 0; i < 8; i++) printf("%4x ", (uint16_t)out[i]); printf("\n"); } +int16_t a_array[8] = {10, 30, 50, 70, 90, 110, 130, 150}; +int16_t b_array[8] = {20, 40, 60, 80, 100, 120, 140, 160}; + int main() { - int16x8_t a = { 150, 130, 110, 90, 70, 50, 30, 10 }; - int16x8_t b = { 160, 140, 120, 100, 80, 60, 40, 20 }; + int16x8_t a = vld1q_s16(a_array); + int16x8_t b = vld1q_s16(b_array); int16x8_t zero = vdupq_n_s16(0); // 130 * 140 = 18200, 150 * 160 = 24000 // adding them as 32-bit signed integers -> 42000 @@ -94,7 +101,7 @@ int main() { res = vpaddq_s16(res, zero); print_s16x8("vpaddq_s16(a, b)", res); - // vmovl_s16 would sign-extend we just want to zero-extend + // vmovl_s16 would sign-extend; we just want to zero-extend // so we need to cast to uint16, vmovl_u16 and then cast back to int16 uint16x4_t res_u16 = vget_low_u16(vreinterpretq_u16_s16(res)); res = vreinterpretq_s16_u32(vmovl_u16(res_u16)); @@ -117,11 +124,11 @@ Now run the program: The output should look like: ```output -a : 96 82 6e 5a 46 32 1e a -b : a0 8c 78 64 50 3c 28 14 -vmulq_s16(a, b) : 5dc0 4718 3390 2328 15e0 bb8 4b0 c8 -vpaddq_s16(a, b) : a4d8 56b8 2198 578 0 0 0 0 -final : a4d8 0 56b8 0 2198 0 578 0 +a : a 1e 32 46 5a 6e 82 96 +b : 14 28 3c 50 64 78 8c a0 +vmulq_s16(a, b) : c8 4b0 bb8 15e0 2328 3390 4718 5dc0 +vpaddq_s16(a, b) : 578 2198 56b8 a4d8 0 0 0 0 +final : 578 0 2198 0 56b8 0 a4d8 0 ``` As you can see the results of both match, **SIMD.info** was especially helpful in this process, providing detailed descriptions and examples that guided the translation of complex intrinsics between different SIMD architectures. From 936a73ca376cd790d5019f8bb9fddb7f108a319a Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Thu, 7 Nov 2024 15:59:06 +0200 Subject: [PATCH 13/15] INTEL remains unchanged --- .../simdinfo-example1-porting.md | 6 +++- .../simd-info-demo/simdinfo-example1.md | 7 ++--- .../simd-info-demo/simdinfo-example2.md | 30 ++++++++----------- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md index 064afba884..e68bf49a86 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md @@ -92,4 +92,8 @@ Multiplication Result: 2.00 12.00 36.00 80.00 Square Root Result: 1.41 3.46 6.00 8.94 ``` -You can see that the results are the same as in the **SSE4.2** example. \ No newline at end of file +You can see that the results are the same as in the **SSE4.2** example. + +{{% notice Note %}} +We initialized the vectors in reverse order compared to the SSE4.2 version because the array initialization and vld1q_f32 function load vectors from LSB to MSB, whereas _mm_set_ps loads elements MSB to LSB. +{{% /notice %}} \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md index 18721affb3..2573f36c8e 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1.md @@ -14,12 +14,9 @@ Create a file named `calculation_sse.c` with the contents shown below. #include #include -float a_array[4] = {1.0f, 4.0f, 9.0f, 16.0f}; -float b_array[4] = {1.0f, 2.0f, 3.0f, 4.0f}; - int main() { - __m128 a = _mm_loadu_ps(a_array); - __m128 b = _mm_loadu_ps(b_array); + __m128 a = _mm_set_ps(16.0f, 9.0f, 4.0f, 1.0f); + __m128 b = _mm_set_ps(4.0f, 3.0f, 2.0f, 1.0f); __m128 cmp_result = _mm_cmpgt_ps(a, b); diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md index d7f8d59681..b56884b32f 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md @@ -27,13 +27,9 @@ void print_s16x8(char *label, __m128i v) { printf("\n"); } -int16_t a_array[8] = {10, 30, 50, 70, 90, 110, 130, 150}; -int16_t b_array[8] = {20, 40, 60, 80, 100, 120, 140, 160}; - int main() { - - __m128i a = _mm_loadu_si128((__m128i*)a_array); - __m128i b = _mm_loadu_si128((__m128i*)b_array); + __m128i a = _mm_set_epi16(10, 30, 50, 70, 90, 110, 130, 150); + __m128i b = _mm_set_epi16(20, 40, 60, 80, 100, 120, 140, 160); // 130 * 140 = 18200, 150 * 160 = 24000 // adding them as 32-bit signed integers -> 42000 // adding them as 16-bit signed integers -> -23336 (overflow!) @@ -60,12 +56,12 @@ Now run the program: The output should look like: ```output -a : a 1e 32 46 5a 6e 82 96 -b : 14 28 3c 50 64 78 8c a0 -_mm_madd_epi16(a, b) : 578 0 2198 0 56b8 0 a4d8 0 +a : 96 82 6e 5a 46 32 1e a +b : a0 8c 78 64 50 3c 28 14 +_mm_madd_epi16(a, b) : a4d8 0 56b8 0 2198 0 578 0 ``` -You will note that the result of the last element is a negative number, even though we added 2 positive results (`130*140` and `150*160`). That is because the result of the addition has to occupy a 16-bit signed integer element and when the first is larger we have the effect of an negative overflow. The result is the same in binary arithmetic, but when interpreted into a signed integer, it turns the number into a negative. +You will note that the result of the first element is a negative number, even though we added 2 positive results (`130*140` and `150*160`). That is because the result of the addition has to occupy a 16-bit signed integer element and when the first is larger we have the effect of an negative overflow. The result is the same in binary arithmetic, but when interpreted into a signed integer, it turns the number into a negative. The rest of the values are as expected. Notice how each pair has a zero element next to it. The results are correct, but they are not in the correct order. In this example, we chose to use vmovl to zero-extend values, which achieves the correct order with zero elements in place. While both vmovl and zip could be used for this purpose, we opted for **vmovl** in this implementation. For more details, see the ARM Software Optimization Guides, such as the [Neoverse V2 guide](https://developer.arm.com/documentation/109898/latest/). @@ -82,8 +78,8 @@ void print_s16x8(char *label, int16x8_t v) { printf("\n"); } -int16_t a_array[8] = {10, 30, 50, 70, 90, 110, 130, 150}; -int16_t b_array[8] = {20, 40, 60, 80, 100, 120, 140, 160}; +int16_t a_array[8] = {150, 130, 110, 90, 70, 50, 30, 10}; +int16_t b_array[8] = {160, 140, 120, 100, 80, 60, 40, 20}; int main() { int16x8_t a = vld1q_s16(a_array); @@ -124,11 +120,11 @@ Now run the program: The output should look like: ```output -a : a 1e 32 46 5a 6e 82 96 -b : 14 28 3c 50 64 78 8c a0 -vmulq_s16(a, b) : c8 4b0 bb8 15e0 2328 3390 4718 5dc0 -vpaddq_s16(a, b) : 578 2198 56b8 a4d8 0 0 0 0 -final : 578 0 2198 0 56b8 0 a4d8 0 +a : 96 82 6e 5a 46 32 1e a +b : a0 8c 78 64 50 3c 28 14 +vmulq_s16(a, b) : 5dc0 4718 3390 2328 15e0 bb8 4b0 c8 +vpaddq_s16(a, b) : a4d8 56b8 2198 578 0 0 0 0 +final : a4d8 0 56b8 0 2198 0 578 0 ``` As you can see the results of both match, **SIMD.info** was especially helpful in this process, providing detailed descriptions and examples that guided the translation of complex intrinsics between different SIMD architectures. From 73808619b871f514a4e88c304c238333cc725613 Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Fri, 8 Nov 2024 12:25:54 +0200 Subject: [PATCH 14/15] some text-related changes + conclusion addition about data layout --- .../learning-paths/cross-platform/simd-info-demo/conclusion.md | 2 +- .../cross-platform/simd-info-demo/simdinfo-example1-porting.md | 2 +- .../cross-platform/simd-info-demo/simdinfo-example2.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/learning-paths/cross-platform/simd-info-demo/conclusion.md b/content/learning-paths/cross-platform/simd-info-demo/conclusion.md index 9b4a619b19..5ad238c264 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/conclusion.md +++ b/content/learning-paths/cross-platform/simd-info-demo/conclusion.md @@ -8,7 +8,7 @@ layout: learningpathall ### Conclusion and Additional Resources -Porting SIMD code between architecture can be a daunting process, in many cases requiring many hours of studying multiple ISAs in online resources or ISA manuals of thousands pages. +Porting SIMD code between architecture can be a daunting process, in many cases requiring many hours of studying multiple ISAs in online resources or ISA manuals of thousands pages. Our primary focus in this work was to optimize the existing algorithm directly with SIMD intrinsics, without altering the algorithm or data layout. While reordering data to align with native ARM instructions could offer performance benefits, our scope remained within the constraints of the current data layout and algorithm. For those interested in data layout strategies to further enhance performance on ARM, the [vectorization-friendly data layout learning path](https://learn.arm.com/learning-paths/cross-platform/vectorization-friendly-data-layout/) offers valuable insights. Using **[SIMD.info](https://simd.info)** can be be instrumental in reducing the amount of time spent in this process, providing a centralized and user-friendly resource for finding **NEON** equivalents to intrinsics of other architectures. It saves considerable time and effort by offering detailed descriptions, prototypes, and comparisons directly, eliminating the need for extensive web searches and manual lookups. diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md index e68bf49a86..13897277f9 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example1-porting.md @@ -95,5 +95,5 @@ Square Root Result: 1.41 3.46 6.00 8.94 You can see that the results are the same as in the **SSE4.2** example. {{% notice Note %}} -We initialized the vectors in reverse order compared to the SSE4.2 version because the array initialization and vld1q_f32 function load vectors from LSB to MSB, whereas _mm_set_ps loads elements MSB to LSB. +We initialized the vectors in reverse order compared to the **SSE4.2** version because the array initialization and vld1q_f32 function load vectors from LSB to MSB, whereas **`_mm_set_ps`** loads elements MSB to LSB. {{% /notice %}} \ No newline at end of file diff --git a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md index b56884b32f..ed953c7c60 100644 --- a/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md +++ b/content/learning-paths/cross-platform/simd-info-demo/simdinfo-example2.md @@ -63,7 +63,7 @@ _mm_madd_epi16(a, b) : a4d8 0 56b8 0 2198 0 578 0 You will note that the result of the first element is a negative number, even though we added 2 positive results (`130*140` and `150*160`). That is because the result of the addition has to occupy a 16-bit signed integer element and when the first is larger we have the effect of an negative overflow. The result is the same in binary arithmetic, but when interpreted into a signed integer, it turns the number into a negative. -The rest of the values are as expected. Notice how each pair has a zero element next to it. The results are correct, but they are not in the correct order. In this example, we chose to use vmovl to zero-extend values, which achieves the correct order with zero elements in place. While both vmovl and zip could be used for this purpose, we opted for **vmovl** in this implementation. For more details, see the ARM Software Optimization Guides, such as the [Neoverse V2 guide](https://developer.arm.com/documentation/109898/latest/). +The rest of the values are as expected. Notice how each pair has a zero element next to it. The results are correct, but they are not in the correct order. In this example, we chose to use **`vmovl`** to zero-extend values, which achieves the correct order with zero elements in place. While both **`vmovl`** and **`zip`** could be used for this purpose, we opted for **`vmovl`** in this implementation. For more details, see the ARM Software Optimization Guides, such as the [Neoverse V2 guide](https://developer.arm.com/documentation/109898/latest/). ```C #include From a44256511d2db85e39193af83883f99423fd0d42 Mon Sep 17 00:00:00 2001 From: Giorgos Mermigkis Date: Mon, 11 Nov 2024 12:34:38 +0200 Subject: [PATCH 15/15] correct contributors --- assets/contributors.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/contributors.csv b/assets/contributors.csv index 4198827189..eff6ed7334 100644 --- a/assets/contributors.csv +++ b/assets/contributors.csv @@ -45,4 +45,5 @@ Nader Zouaoui,Day Devs,nader-zouaoui,nader-zouaoui,@zouaoui_nader,https://daydev Alaaeddine Chakroun,Day Devs,Alaaeddine-Chakroun,alaaeddine-chakroun,,https://daydevs.com/ Koki Mitsunami,Arm,,,, Chen Zhang,Zilliz,,,, +Tianyu Li,Arm,,,, Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/ \ No newline at end of file