Skip To Main Content
Intel logo - Return to the home page
My Tools

Select Your Language

  • Bahasa Indonesia
  • Deutsch
  • English
  • Español
  • Français
  • Português
  • Tiếng Việt
  • ไทย
  • 한국어
  • 日本語
  • 简体中文
  • 繁體中文
Sign In to access restricted content

Using Intel.com Search

You can easily search the entire Intel.com site in several ways.

  • Brand Name: Core i9
  • Document Number: 123456
  • Code Name: Emerald Rapids
  • Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice*

Quick Links

You can also try the quick links below to see results for most popular searches.

  • Product Information
  • Support
  • Drivers & Software

Recent Searches

Sign In to access restricted content

Advanced Search

Only search in

Sign in to access restricted content.

The browser version you are using is not recommended for this site.
Please consider upgrading to the latest version of your browser by clicking one of the following links.

  • Safari
  • Chrome
  • Edge
  • Firefox

Implement the Fourier Correlation Algorithm

Implement the Fourier Correlation Algorithm

@IntelDevTools

Subscribe Now

Stay in the know on all things CODE. Updates are delivered to your inbox.

Sign Up

Overview

Fourier correlation has many applications:

  • Measure the similarity of two signals
  • Find the best translation to overlay similar images
  • Segment volumetric medical images

A Fourier correlation algorithm† can be composed from Intel® oneAPI Math Kernel Library (oneMKL) functions for easy offload to various accelerators such as GPUs and FPGAs.

In this session, senior principal software engineer Henry Gabb:

  • Covers the basics of:
    • Data Parallel C++ (DPC++) queues
    • Buffers, Unified Shared Memory (USM), and data movement
    • Implicit vs. explicit synchronization
  • Walks through buffered and USM implementations of a 1D Fourier correlation
  • Discusses the movement of data between host and device and ways to avoid unnecessary data movement

† correlation=MAXLOC(IDFT(signal1)*CONJG(DFT(SIGNAL2)))) where DFT is the discrete Fourier transform, IDFT is the inverse DFT, CONJG is the complex conjugate, and MAXLOC is the location of the maximum correlation score.

 

Japanese Language Version

Download the On-Demand Video

Download the Presentation

 

Featured Software

  • Get DPC++ and oneMKL as part of the Intel® oneAPI Base Toolkit—a foundational set of tools and libraries for developing high-performance, data-centric applications across diverse architectures.
  • Download the stand-alone version of oneMKL.

 

Resources

  • Learn more about DPC++.
  • Sign up for an Intel® Developer Cloud account—a free development sandbox with access to the latest Intel hardware and oneAPI software.
  • Explore oneAPI including developer opportunities and benefits.
  • Subscribe to Code Together, an interview series that explores the challenges at the forefront of cross-architecture development. Each biweekly episode features industry VIPs who are blazing new trails through today's data-centric world. Available wherever you get your podcasts.
Intel® oneAPI Base Toolkit

Develop high-performance, data-centric applications for CPUs, GPUs, and FPGAs with this core set of tools, libraries, and frameworks including LLVM*-based compilers.

 

Get It Now

 

See All Tools

 

  • Company Overview
  • Contact Intel
  • Newsroom
  • Investors
  • Careers
  • Corporate Responsibility
  • Inclusion
  • Public Policy
  • © Intel Corporation
  • Terms of Use
  • *Trademarks
  • Cookies
  • Privacy
  • Supply Chain Transparency
  • Site Map
  • Recycling
  • Your Privacy Choices California Consumer Privacy Act (CCPA) Opt-Out Icon
  • Notice at Collection

Intel technologies may require enabled hardware, software or service activation. // No product or component can be absolutely secure. // Your costs and results may vary. // Performance varies by use, configuration, and other factors. Learn more at intel.com/performanceindex. // See our complete legal Notices and Disclaimers. // Intel is committed to respecting human rights and avoiding causing or contributing to adverse impacts on human rights. See Intel’s Global Human Rights Principles. Intel’s products and software are intended only to be used in applications that do not cause or contribute to adverse impacts on human rights.

Intel Footer Logo