| 115 | return int(maxMemoryAvailable.group(0)) |
| 116 | |
| 117 | def max_problem_size(exe, layout, precision, device): |
| 118 | |
| 119 | if precision == 'single': |
| 120 | bytes_in_one_number = 4 |
| 121 | elif precision == 'double': |
| 122 | bytes_in_one_number = 8 |
| 123 | else: |
| 124 | print 'max_problem_size(): unknown precision' |
| 125 | quit() |
| 126 | |
| 127 | max_problem_size = pow(2,25) |
| 128 | if layout == '5': |
| 129 | max_problem_size = pow(2,24) # TODO: Upper size limit for real transform |
| 130 | return max_problem_size |
| 131 | |
| 132 | def maxBatchSize(lengthx, lengthy, lengthz, layout, precision, exe, device): |
| 133 | problemSize = int(lengthx) * int(lengthy) * int(lengthz) |