When I call s_init_trig_transform
then make successive calls to the pair of functions
s_commit_trig_transform(work_space , & mkl_dct_handle, mkl_ipar, mkl_spar, & mkl_status );
s_forward_trig_transform(work_space , & mkl_dct_handle, mkl_ipar, mkl_spar, & mkl_status );
to do trig transforms on arrays in consecutive chunks of memory I get a memory access violation. How many transforms I do before this happens varies from one run to the next even with no change in the code, though it is roughly on the order of 70,000 (the number is possibly irrelevant of course, could just be something about situation in memory)
If instead I set up the trig transform afresh for every single transform I want to make and call free_trig_transform after each , I get no memory access violatation.
Note: When I posted this I stated that I did transforms on arrays in consecutive chunks of memory, but in actuality those arrays were copied to another location before calling the transform. This apparently happens even when I designate a single peice of memory on which every transformation is run (i.e. I copy to that memory, run the transformation, then copy the results out of it).