- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What are the differences between these techniques?
AVX is exclusively a Vectorization technique?
With both techniques i can use a SIMD approach, but I can say that Vectorization (AVX) is a single thread Techinque for fine grained parallelism, instead Parallelism (cilk plus, TBB, OpenMP etc.) is a multi-thread techinique for coarse grained parallelism.
- Tags:
- Intel® Advanced Vector Extensions (Intel® AVX)
- Intel® Streaming SIMD Extensions
- Parallel Computing
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You are correct that instruction level parallelism, including simd parallel instructions, which (for IA) are topical on this forum, are not what is normally meant by the unqualified term "parallel," which typically refers to multiple threads, or possibly cilk workers, or MPI processes. Those "mimd" programming models necessarily involve instruction level parallelism, possibly including simd instructions.
AVX of course is simply one category of simd instructions for IA. Setting AVX ISA as a compiler option typically involves invoking auto-vectorization (or enabling/modifying simd intrinsics), subject to restrictions set by additional options, but it isn't exclusively about vectorization.
For example, OpenMP offers choices such as "omp parallel for" to invoke multiple threads, "omp simd" to request simd optimization of the following for() within a single thread, and "omp parallel for simd" to request both.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Tim. Very clear now.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page