Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- what's my best choice on real-to-real FFT?

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Chang_Lei

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-25-2010
12:03 AM

177 Views

what's my best choice on real-to-real FFT?

Hi everyone, I'm recently using r-2-r cosine FFT in my poisson solver. AndI wasconfused abouthow to chose fromTT routines, DFT routines and FFTw wrappers in MKL.

My detailed needs are:

1. Forward and backward staggered cosine transform

2. Multiple invoking of above FFT, which means I have many arrays of samelenth to transfer.

3. I want to use multi threads (8+ threads) to compute these transfers.

could someone give me instruction about which one is my best choice and what's the need of system environment(for example, the version of MKL).

Thanks.

Changlei

1 Solution

Victor_Gladkikh

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-29-2010
01:47 AM

177 Views

In you case, generalway of using TTis:

"

// Init transform

call ?_init_trig_transfor(...)

// Commit parameters and create DFTI handle

call ?_commit_trig_transfor(a(:,i)..)

// Do a set of forward transform

do i=1,n

call?_forward_trig_transform(a(:,i)...)

enddo

....

// Do a set of backward transform

do i=1,n

call ?_backward_trig_transform(a(:,i)...)

enddo

// Free

callfree_trig_transform(...)

"

Victor

Link Copied

6 Replies

Chang_Lei

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-25-2010
07:08 PM

177 Views

"ipar(10) specifies the number of OpenMP threads to run TT routines in the OpenMP

environment of the Poisson Library. The default value is 1. You are highly

recommended not to alter this value. See also Caveat on Parameter

Modifications."

Does this mean I will take great risk to use TT routines with multi_threads?

Victor_Gladkikh

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-26-2010
04:13 AM

177 Views

Chang_Lei

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-28-2010
02:23 AM

177 Views

Here I have another question, if I have multiarrays (a(1:m,1:n)to transfor. These arrays is a two dimensional matrix. I have to do backward transforms when all forward transforms have been done. Can I invoke the TT routines in this way?

"call ?_init_trig_transfor(...)

do i=1,n

call ?_commit_trig_transfor(a(:,i)..)

call?_forward_trig_transform(a(:,i)...)

enddo

....

do i=1,n

call ?_backward_trig_transform(a(:,i)...)

enddo

or could I call the commit routine onlyonce?

If TT routines support multi-array transform, there will no this question.

Victor_Gladkikh

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-29-2010
01:47 AM

178 Views

In you case, generalway of using TTis:

"

// Init transform

call ?_init_trig_transfor(...)

// Commit parameters and create DFTI handle

call ?_commit_trig_transfor(a(:,i)..)

// Do a set of forward transform

do i=1,n

call?_forward_trig_transform(a(:,i)...)

enddo

....

// Do a set of backward transform

do i=1,n

call ?_backward_trig_transform(a(:,i)...)

enddo

// Free

callfree_trig_transform(...)

"

Victor

Chang_Lei

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

11-01-2010
12:10 AM

177 Views

When Commit parameters, using:

"

// Commit parameters and create DFTI handle

call ?_commit_trig_transfor(a(:,i)..)

"

You mean I can commit it using any column of matrix a? I'll try that.

Best regards!

Victor_Gladkikh

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

11-01-2010
06:19 AM

177 Views

Yes you canuse in ?_commit_trig_transfor routine any columns of the matrix a.

Best regards,

Victor

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

For more complete information about compiler optimizations, see our Optimization Notice.