 }
 
 struct test_kernel {
-    test_kernel() {
+    test_kernel( unsigned int tx = 32, unsigned int ty = 32) :
+        m_threads(tx,ty,1)
+        , m_blocks( 10, 1, 1)
+    {
         create_space( dSubPop );
         assert( cudaMalloc( (void **)&dStats, sizeof(pairwise_diff_stats) ) == cudaSuccess);
     }


        initialize_pairwise_diff_stats<<< 1, 32 >>>( dStats );

        pairwise_difference_kernel<<< 10, 32 >>>( seqs, dSubPop, dStats);

        finalize_pairwise_diff_stats<<< 1, 32 >>>( dStats );
    }


    basic_data_space< int_type > *  dSubPop;
    pairwise_diff_stats         *  dStats;

    dim3    m_threads, m_blocks;
};

void upload_sequences( device_sequence_space< int_type > & seqs, device_sequence_space< int_type > *dSeqs ) {
