Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove 'sh' parameter from FFT.fft #2

Closed
amigalemming opened this issue Oct 1, 2014 · 8 comments
Closed

remove 'sh' parameter from FFT.fft #2

amigalemming opened this issue Oct 1, 2014 · 8 comments

Comments

@amigalemming
Copy link

The 'sh' parameter is not needed for planning the FFT, thus I propose to remove it. This would allow to re-use the same plan for arrays with arbitrary global shape.

@Haskell-mouse
Copy link
Contributor

Haskell-mouse commented Aug 14, 2017

I have tried to do this just now, but without any success.
I did it for native and ptx cases (you can write any "sh" value and it will be ignored).

With interpreter problem is that i cant restore innermost dimensions from "Exp sh" value(if i dont know range of array - DIM1 or DIM2 etc...).
Maybe it's a lack of my knowledge of haskell (
Maybe there is solution through Template Haskell.

Another way is writing 3 functions: fft1, fft2, fft3, but i think that it is ugly....

@tmcdonell
Copy link
Member

Yes, the reason the sh parameter is still required as a real Haskell value is explained here.

That is a very naive implementation though, so if we can replace it with a real algorithm then perhaps we can avoid this problem. I think this package might have such an implementation, so maybe we should use that instead?

On the other hand, there is little reason to be using the naive implementation at all (at least in the current form; a better algorithm might perform well enough to be useful), so maybe it should be removed and have a requirement that the CUDA or FFTW foreign libraries are used instead?

@Haskell-mouse
Copy link
Contributor

Haskell-mouse commented Aug 17, 2017

I think that there is should be implementation for interpreter - it is very useful sometimes. For example i can't properly build llvm-4 in my win10(i tried for 2 days, lol....), but i still can use accelerate-fft library and test my code with interpreter on my laptop.

I will try to use accelerate-fourier to make implementation for interpreter without sh param.

@amigalemming
Copy link
Author

amigalemming commented Aug 17, 2017 via email

@Haskell-mouse
Copy link
Contributor

That is nice :-)
So - i ll try to use it to replace "interpreter fft" function.

@tmcdonell
Copy link
Member

@Haskell-mouse by the way, @yuhangwang has had some progress installing LLVM on windows, and has written up some instructions here; maybe that has some useful points for you too.

@amigalemming
Copy link
Author

amigalemming commented Aug 23, 2017 via email

@Haskell-mouse
Copy link
Contributor

@tmcdonell , thank you !
I ll try it later due to very busy right now.

I tried to build llvm-4.0, but it has been built successfully only without recommended by llvm-hs flags, and llvm-hs didnt work.
So... thank you again =)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants