devices = ADL.getNumGPU() # Fire off mining workers for each device processes = [] for device in devices: gpuidx = device['GPU'] ADL.setIndex(gpuidx) log.info('Device[GPU%d] %s (Core: %d, Memory: %d, Fan %d%%)', gpuidx, device['Name'], ADL.getCoreClockSpeed(), ADL.getMemoryClockSpeed(), ADL.getFanSpeed()) if cParser.has_section('ADL_GPU%d' % gpuidx): log.debug('Found ADL settings for GPU%d', gpuidx) if cParser.has_option('ADL_GPU%d' % gpuidx, 'core'): core = cParser.getint('ADL_GPU%d' % gpuidx, 'core') log.debug('Device[GPU%d] setting Core to %d Mhz', gpuidx, core) ADL.setCoreClockSpeed(2, core) if cParser.has_option('ADL_GPU%d' % gpuidx, 'memory'): memory = cParser.getint('ADL_GPU%d' % gpuidx, 'memory') log.debug('Device[GPU%d] setting Memory to %d Mhz', gpuidx, memory) ADL.setMemoryClockSpeed(1, memory) ADL.setMemoryClockSpeed(2, memory) if cParser.has_option('ADL_GPU%d' % gpuidx, 'fan'): fan = cParser.getint('ADL_GPU%d' % gpuidx, 'fan') log.debug('Device[GPU%d] setting Fan to %d%%', gpuidx, fan) ADL.setFanSpeed(fan) p = Process(target=Miner, args=(gpuidx, options)) processes.append(p) try: for process in processes: