 	if (ccMajor == 6 && ccMinor == 0)
 		shmemThreshold = 65536;
 	else if (ccMajor == 6 && ccMinor == 1)
-		shmemThreshold = 98304 / 0.3;
+		shmemThreshold = 49152;
 	else if (ccMajor == 5 && ccMinor == 2)
 		shmemThreshold = 98304;
 	else if (ccMajor == 5)


	if (debug && verbose)
		printf("H5 opNum:[%i]\n", opNum);

	//dim3 launchDims = getOptimalLaunchParameters<float>(&extraPointers[0], funcAttributes[10], deviceProperties[getDeviceId(extraPointers[2])]);

	int *allocationPointer = reinterpret_cast<int *>(extraPointers[3]);


					bool scalarCheat = false;
					if (extraParams == nullptr) {
						scalarCheat = true;
					}

					if (scalarCheat) {
						/**
						 * In case of vector-input for IsMax, it just turns into IndexReduce call + further filler call
						 */
						int maxIdx = (int) execIndexReduceScalarDouble(extraPointers, 0, dx, xShapeInfo, extraParams);
						int targetIdx = 0;

