diff --git a/test/Benchmark/Benchmark.cc b/test/Benchmark/Benchmark.cc
index eac765062df8edb3d9441a81258bca19752f9546..a26c470a37f61503918f12450eee93fe781c674b 100644
--- a/test/Benchmark/Benchmark.cc
+++ b/test/Benchmark/Benchmark.cc
@@ -52,7 +52,7 @@ Benchmark::Benchmark()
 template <typename SampleType, typename VisibilityType> void Benchmark::doTest(unsigned nrBits, unsigned nrReceiversPerBlock, unsigned nrReceivers)
 {
   constexpr double   measureTime         = 3; // seconds
-  constexpr unsigned nrChannels          = 480;
+	    unsigned nrChannels          = 4 * device.getAttribute<CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT>(); // provide enough parallelism
   constexpr unsigned nrPolarizations     = 2;
   constexpr unsigned nrSamplesPerChannel = 3072;
   constexpr bool     addVisibilities     = false;