"src/include/blockwise_gemm.hpp" did not exist on "5e5c27a63b1637556a17e17546147da6cb6d732e"
pythonScript.ts 1.11 KB
Newer Older
1
2
3
4
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.

import { spawn } from 'child_process';
5
import globals from './globals';
6
7
import { Logger, getLogger } from './log';

8
const logger: Logger = getLogger('pythonScript');
9

10
export async function runPythonScript(script: string, logTag?: string): Promise<string> {
11
    const proc = spawn(globals.args.pythonInterpreter, [ '-c', script ]);
12

13
14
15
16
17
    let stdout: string = '';
    let stderr: string = '';
    proc.stdout.on('data', (data: string) => { stdout += data; });
    proc.stderr.on('data', (data: string) => { stderr += data; });

18
19
20
21
22
23
24
    const procPromise = new Promise<void>((resolve, reject) => {
        proc.on('error', (err: Error) => { reject(err); });
        proc.on('exit', () => { resolve(); });
    });
    await procPromise;

    if (stderr) {
25
26
27
28
29
30
        if (logTag) {
            logger.warning(`Python script [${logTag}] has stderr:`, stderr);
        } else {
            logger.warning('Python script has stderr.');
            logger.warning('  script:', script);
            logger.warning('  stderr:', stderr);
31
32
33
34
35
        }
    }

    return stdout;
}