 
 	fftsize = 4096;
 	int n1[] = {fftsize};
-	if (cufftPlan1d(&fwd_plan_4k, 4096, CUFFT_R2C, 64) != CUFFT_SUCCESS){
-		fprintf(stderr, "CUFFT error: 4k Plan creation failed");
-		return -2;	
-	}	
 
 	if (cufftPlanMany(&fwd_plan_4k,
 					  1, // 1d transform


	cufftDestroy(fwd_plan_2k);
	cufftDestroy(fwd_plan_4k);

	cudaFree(d1);
	cudaFree(d2);

	cudaEventElapsedTime(&gputime_ms, start, stop);
	printf("runtime = %lf (ms)\n", gputime_ms * 0.01);

	//--------//
	// 2k fft on 4k data
	//--------//
	printf("[LOG] planmany 2k fft on 4k data.\n");

	gputime_ms = 0.f;
	cudaEventRecord(start, 0);

	for (int i = 0; i < 100; i++) {
		if (cufftExecR2C(fwd_plan_2k_4k, (cufftReal*)d3, (cufftComplex*)d3_complex) != CUFFT_SUCCESS){
			fprintf(stderr, "CUFFT error: ExecR2C 2K Forward on 4K failed");
			int myErr = err;
			err = err -1;
			return myErr;	
		}
	}

	cudaEventRecord(stop, 0);
	cudaEventSynchronize(stop);
	cudaEventElapsedTime(&gputime_ms, start, stop);
	printf("runtime = %lf (ms)\n", gputime_ms * 0.01);

	//------------------------------------------------------------------------//
	// free 
	//------------------------------------------------------------------------//
