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

2D on 2D #29

Open
rainwoodman opened this issue Jul 26, 2017 · 1 comment
Open

2D on 2D #29

rainwoodman opened this issue Jul 26, 2017 · 1 comment

Comments

@rainwoodman
Copy link
Contributor

Is it possible to do 2D transforms on a 2D procmesh?
I tried this and it seem to have ran into a divide by zero error. Here is the stack trace. There are test cases in the source code doing 3D on 3D, so I imaging it may not be very difficult to extend the library to support 2D on 2D?


#0  0x00007fffe2bc744a in pfft_num_blocks (global_block_size=0, 
    global_array_size=0) at ../../pfft-1.0.8-alpha2-fftw3/kernel/block.c:84
#1  pfft_local_block_offset (which_block=0, global_block_size=0, 
    global_array_size=0) at ../../pfft-1.0.8-alpha2-fftw3/kernel/block.c:58
#2  pfft_local_block_size_and_offset (global_array_size=0, 
    global_block_size=0, which_block=0, 
    local_block_size=local_block_size@entry=0x108f230, 
    local_block_start=local_block_start@entry=0x108f250)
    at ../../pfft-1.0.8-alpha2-fftw3/kernel/block.c:37
#3  0x00007fffe2bbdc98 in pfft_decompose_1d (local_n_start=0x108f250, 
    local_n=0x108f230, which_block=<optimized out>, 
    block_size=<optimized out>, pn=<optimized out>)
    at ../../pfft-1.0.8-alpha2-fftw3/util/util.c:58
#4  pfft_decompose (pn=<optimized out>, block=<optimized out>, 
    rnk_pm=<optimized out>, coords_pm=<optimized out>, 
    local_n=<optimized out>, local_start=<optimized out>)
    at ../../pfft-1.0.8-alpha2-fftw3/util/util.c:50
#5  0x00007fffe2bd4f33 in decompose_nontransposed (
    local_start=<optimized out>, local_n=<optimized out>, 
    trafo_flag=<optimized out>, coords_pm=<optimized out>, 
    rnk_pm=<optimized out>, blk=<optimized out>, n=<optimized out>, 
    rnk_n=<optimized out>)
    at ../../pfft-1.0.8-alpha2-fftw3/kernel/partrafo-transposed.c:381
---Type <return> to continue, or q <return> to quit---
#6  local_size_transposed (rnk_n=2, ni=<optimized out>, no=0x10db6f0, iblock=0x10db7f0, oblock=0x10db810, rnk_pm=2, coords_pm=0x10db850, trafo_flag=8194, 
    transp_flag=2, local_ni=0x108f210, local_i_start=0x108f230, local_no=0x108f220, local_o_start=0x108f240)
    at ../../pfft-1.0.8-alpha2-fftw3/kernel/partrafo-transposed.c:358
#7  0x00007fffe2bd54cf in pfft_local_size_partrafo_transposed (rnk_n=rnk_n@entry=2, n=n@entry=0x10db630, ni=ni@entry=0x109ccc0, no=no@entry=0x10db6f0, 
    howmany=howmany@entry=1, iblock=iblock@entry=0x10db7f0, oblock=0x10db810, rnk_pm=2, comms_pm=0x109cc60, transp_flag=2, trafo_flags=0x10db770, 
    local_ni=0x108f210, local_i_start=0x108f230, local_no=0x108f220, local_o_start=0x108f240) at ../../pfft-1.0.8-alpha2-fftw3/kernel/partrafo-transposed.c:108
#8  0x00007fffe2bc9906 in pfft_local_size_partrafo (rnk_n=2, n=0x10af590, ni=0x10af590, no=0x10af590, howmany=howmany@entry=1, 
    iblock_user=iblock_user@entry=0x0, oblock_user=0x0, comm=-2080374780, trafo_flag_user=8194, pfft_flags=2050, local_ni=0x108f210, local_i_start=0x108f230, 
    local_no=<optimized out>, local_o_start=0x108f240) at ../../pfft-1.0.8-alpha2-fftw3/kernel/partrafo.c:261
#9  0x00007fffe2bd1551 in pfft_local_size_many_dft_r2c (rnk_n=<optimized out>, n=<optimized out>, ni=<optimized out>, no=<optimized out>, 
    howmany=howmany@entry=1, iblock=iblock@entry=0x0, oblock=0x0, comm_cart=-2080374780, pfft_flags=2050, local_ni=0x108f210, local_i_start=0x108f230, 
    local_no=0x108f220, local_o_start=0x108f240) at ../../pfft-1.0.8-alpha2-fftw3/api/api-adv.c:54
#10 0x00007fffe2bc3008 in pfft_local_size_dft_r2c (rnk_n=<optimized out>, n=<optimized out>, comm_cart=<optimized out>, pfft_flags=<optimized out>, 
    local_ni=<optimized out>, local_i_start=<optimized out>, local_no=0x108f220, local_o_start=0x108f240) at ../../pfft-1.0.8-alpha2-fftw3/api/api-basic.c:910
@rainwoodman
Copy link
Contributor Author

@mpip Do you have any hints where to hack to get this working?

It appears the routines in remap_3d_to_2d.c are the key.

According to the manual this stage is working on the remapping from 3d to 2d and the other way around. For a 2d on 2d transfer, then I shall slightly tweak the code to do a 2d to 1d remapping.

@rainwoodman rainwoodman mentioned this issue Jan 13, 2018
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

1 participant