数据量超过线程最大数量?

我目前使用for (i = bid * THREAD_NUM + tid; i < (row - 1) * (col - 1)Satellite_rowSatellite_row; i += BLOCK_NUM*THREAD_NUM)进行核运算,但是数据量有40亿,但是其中i 的值最大可以到大约2亿5千万,怎么解决?