     CUT_CHECK_ERROR("error binding texture");
     
     cudaBindTexture(0, bin_size_tex, bin_size, sizeof(unsigned int)*Mx*My*Mz);
+    cudaBindTexture(0, bin_adj_linear_tex, d_bin_adj, sizeof(unsigned int)*Mx*My*Mz*27);
     
     // make even bin dimensions
     float binx = (Lx) / float(Mx);

            
            // FLOPS: 15
            float dx = my_pos.x - neigh_pos.x;
            dx = dx - Lx * rintf(dx * Lxinv);
            
            float dy = my_pos.y - neigh_pos.y;
            dy = dy - Ly * rintf(dy * Lyinv);
            
            float dz = my_pos.z - neigh_pos.z;
            dz = dz - Lz * rintf(dz * Lzinv);
            
            // FLOPS: 5

    
    float min_t = 10000.0f;
    unsigned int fastest_block_size = 0;
    for (unsigned int block_size=32; block_size<=512; block_size+=32)
        {
        // benchmarks
        timeval start;
