Giter Club home page Giter Club logo

fftwpp's People

Contributors

egpbos avatar johncbowman avatar malcolmroberts avatar noelmurasko avatar outurnate avatar robertboy18 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fftwpp's Issues

FFTW in Qt

Hello,

someone could help me to link this libary in Qt?

MZ

installing fftwpp on python

Hello John and/or Malcolm,

It's been a while. I have heard very good things about fftwpp recently and am very curious to try it out. I thought there was a wrapper for python. If yes do you have any advice on how one might set this up? If no maybe it's too much work.

Thanks for putting this together, it looks really great!

Francis

Unresolved external symbols in VS2019 build

I have a Visual Studio project using FFTWpp and I have run into the following build problem. I am getting errors of unresolved external symbols. I am using fftwpp from vcpkg but I obtained the same errors using the library directly. The errors arise in the obj file. The output is the following.

error LNK2019: unresolved external symbol "public: __cdecl fftwpp::ThreadBase::ThreadBase(void)" (??0ThreadBase@fftwpp@@qeaa@XZ) referenced in function "public: __cdecl fftwpp::fftw::fftw(unsigned int,int,unsigned int,unsigned int)" (??0fftw@fftwpp@@qeaa@IHII@Z)
error LNK2001: unresolved external symbol "char const * const fftwpp::inout" (?inout@fftwpp@@3PEBDEB)
error LNK2001: unresolved external symbol "public: static unsigned int fftwpp::fftw::effort" (?effort@fftw@fftwpp@@2ia)
error LNK2001: unresolved external symbol "public: static unsigned int fftwpp::fftw::maxthreads" (?maxthreads@fftw@fftwpp@@2ia)
error LNK2001: unresolved external symbol "public: static double fftwpp::fftw::testseconds" (?testseconds@fftw@fftwpp@@2NA)
error LNK2001: unresolved external symbol "public: static struct fftw_plan_s * (__cdecl* fftwpp::fftw::planner)(class fftwpp::fftw *,class std::complex *,class std::complex *)" (?planner@fftw@fftwpp@@2P6APEAUfftw_plan_s@@PEAV12@PEAV?$complex@N@std@@1@ZEA)

Do you have any ideas on how to fix this?

Configuration fails since 'No fftw_malloc in -lfftw3'

I try to configure C code as follows:
./configure --with-fftw=/usr/local/fftw-3.3.6-pl2/
But I receive the error stated in the title.
I've tried adding the lib directory to the LD_LIBRARY_PATH and configure it with -L.

Thanks for the help

Compilation fails if using CImg in the same project.

Error:

~/fftw++-2.02/Complex.h:31:7: error: expected identifier before numeric constant
 class Complex
       ^
~/fftw++-2.02/Complex.h:31:7: error: expected unqualified-id before numeric constant

Used compiler: g++-4.8.5 and g++-5.3.0

MPI_(I)alltoall

With OpenMPI 1.6.5 / gcc 4.9.3
I have:

vhuber@machine: mpirun -npernode 16 ./cconv2 -i -S-1 -T1 -m64
Configuration: 16 nodes X 1 threads/node
Using MPI VERSION 2
N=244
A=2
mx=64, my=64
[irma-atlas:19263] *** An error occurred in MPI_Alltoall
[irma-atlas:19263] *** on communicator MPI COMMUNICATOR 4 SPLIT FROM 3
[irma-atlas:19263] *** MPI_ERR_ARG: invalid argument of some other kind
[irma-atlas:19263] *** MPI_ERRORS_ARE_FATAL: your MPI job will now abort
--------------------------------------------------------------------------
mpirun has exited due to process rank 13 with PID 19270 on
node irma-atlas exiting improperly. There are two reasons this could occur:

1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.

2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"

This may have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
--------------------------------------------------------------------------
[irma-atlas:19229] 15 more processes have sent help message help-mpi-errors.txt / mpi_errors_are_fatal
[irma-atlas:19229] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

Whith OpenMpi 1.10.3 / gcc 4.9.0

mpirun -np 4 ./cconv2 -i -S-1 -T1 -m64
Configuration: 4 nodes X 1 threads/node
Using MPI VERSION 3
N=244
A=2
mx=64, my=64
[irma-atlas:47509] *** An error occurred in MPI_Ialltoall
[irma-atlas:47509] *** reported by process [1019478017,0]
[irma-atlas:47509] *** on communicator MPI_COMM_WORLD
[irma-atlas:47509] *** MPI_ERR_INTERN: internal error
[irma-atlas:47509] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
[irma-atlas:47509] ***    and potentially your MPI job)

Looking into the code, it appears that this fails when using MPI_IN_PLACE

I though that was linked to open-mpi/ompi#1023

clang-tidy warnings

clang-tidy is giving the following:

Array.h:192:5: warning: Call to virtual method 'array1::Dimension' during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall]
    Dimension(nx0);
    ^
fftw++.cpp:22:19: note: Calling constructor for 'array1<std::complex<double>>'
  array1<Complex> f(n, align);
                  ^
Array.h:204:5: note: Calling 'array1::Allocate'
    Allocate(nx0,align);
    ^
Array.h:192:5: note: Call to virtual method 'array1::Dimension' during construction bypasses virtual dispatch
    Dimension(nx0);
    ^

'Cannot open source file fftw3.h'

When compiling my code with fftw++, a bunch of errors popped up. After fixing my own, it looked like most of them were the result of a missing file in fftw++.h . I checked the folders I'd downloaded (and I downloaded fftw++ at most four days ago) and there is no fftw3.h in the folders. I also tried dropping one in from FFTW (one of the other problem areas was line extern "C" fftw_plan Planner(fftw *F, Complex *in, Complex *out);), but that didn't work either... which seems to indicate that the file was excluded on purpose but a number of parts weren't removed from the code. Okay.

If someone could reply soon, that would be great; I'm doing some time-sensitive stuff. If not... well, at least this stuff will be fixed for the next person.

What is the difference of array and Array.

I have noticed there are two kinds of array and Array. Could you please give me some suggestions about the differences between these two arries.
Can we set the storage format of the array. (c like or fortran like.)

convolution segmentation fault

I run into segmentation faults when running the tests (conv2 and conv3, all others seem ok).

I'm using clang, and to get convolution.cc to compile (non-POD variable-length arrays are not suported), I modified ImplicitHConvolution::convolve as follows

void ImplicitHConvolution::convolve(Complex **F, 
                                    realmultiplier *pmult, unsigned int offset)

475- Complex c1c[C] ;
475+ Complex * c1c = new Complex[C];
...
515- Complex S[B];
515+ Complex * S = new Complex[B]
...

601+ delete[] c1c;
602+ delete[] S;

The tests (conv2/conv3) give a segmentation fault when running

void ImplicitConvolution::convolve(Complex **F,
                                   multiplier *pmult, unsigned int offset)

at the point where premult is called (more specifically at line 249)

213 void ImplicitHConvolution::premult(Complex ** F,
                   unsigned int offset,
                   Complex* f1c){
...
if(even) {
   ...
    for(unsigned int i=0; i < A; ++i) {
     ...
249      STORE(f1c+i,CONJ(A+B)); //segmentation fault
    }
  }
}

I haven't tested with any other compilers. I was wondering if this is due to the changes I made, a clang issue, or something else?
Thanks for the help.

Just in case, this is the output

$ ./conv2
min padded buffer=10
min padded buffer=10
nx=16, ny=16
mx=4, my=4
N=39062
threads=1

Segmentation fault: 11

$ ./conv3
min padded buffer=10
min padded buffer=10
min padded buffer=10
nx=16, ny=16, nz=16
mx=4, my=4, mz=4
N=2441
threads=1

Segmentation fault: 11

FFTW Wisdom import/export functions missing

I'm trying to use this library in Qt, and i cannot find where functions like fftw_export_wisdom_to_string() are located, either in this codebase or any online. Where were these functions expected to be defined?

mpi test fails

Running the mpi unit tests, I had at least one failure using 68797f9. This is with fftw 3.3.6-pl2

Running the case

mpirun -n 8 ./conv3 -x2 -y2 -z2 -N1 -s1 -a1 -X0 -Y1 -Z1 -A2 -T3 -tq

fails with code 134, which is a memory corruption. This is reproducable on our cascade test machine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.