In reply to swapnilsrf9:
The problem is in the way that you are using the sum() reduction method, actually, two problems.
The first is that the sum() method is only defined two work on one dimension at a time, with each element in that dimension having an integral type.
bench_row1.sum() tries to sum up 3 elements where each element is an unpacked array of 2 bits. The return type of of the sum method is the same type as each array element, and you can add unpacked arrays.
Which brings me to your second problem. Even if
bench_row1 had a single unpacked dimension, the result of the sum() method is the same type as each element, a single bit in this case. So there is no way the result could ever be decimal 2.
The way to use reduction operators with multi-dimensional arrays is by using the with clause to cast each element into an integral type.
bench_row1.sum(ii) with ( ii.sum(jj) with ( int'(jj) ) )
See 7.12.3 Array reduction methods in the 1800-2012 LRM for full explanation.
If you just want to count the number of bits set in any bit-stream variable, SystemVerilog provides a built-in function:
$countones(bench_row1)