Exemple #1
0
def cpp_run():
    parser = argparse.ArgumentParser(description='Run a C++ file with cppimport')
    parser.add_argument('filename', help = 'The file to run.')
    parser.add_argument('--verbose', '-v', action = 'store_true', help = 'Tell me everything!')
    args = parser.parse_args()

    if args.verbose:
        cppimport.set_quiet(False)

    filename = args.filename

    code = open(filename, 'r').read()
    main = mako.template.Template(tmpl).render(code = code)

    cpprun_dir = '.cpprunfiles'
    if not os.path.exists(cpprun_dir):
        os.makedirs(cpprun_dir)
    src = os.path.join(cpprun_dir, 'runnable.cpp')
    open(src, 'w').write(main)

    sys.path.append(cpprun_dir)
    import runnable
    sys.path.remove(cpprun_dir)

    if args.verbose:
        print("Launching!")
    runnable.main()
Exemple #2
0
def build_vectorian():
    import cppimport

    cppimport.set_quiet(False)
    cppimport.force_rebuild(False)

    if os.environ.get("DEBUG_VECTORIAN_FORCE_REBUILD", False):
        cppimport.force_rebuild(True)
Exemple #3
0
def cpp_run():
    parser = argparse.ArgumentParser(description='Run a C++ file with cppimport')
    parser.add_argument('filename', help = 'The file to run.')
    parser.add_argument(
        '--add_main_caller', '-m',
        action = 'store_true',
        help = 'Add a pybind11 function that will call your main()'
    )
    parser.add_argument(
        '--verbose', '-v',
        action = 'store_true',
        help = 'Tell me everything!'
    )
    args = parser.parse_args()

    if args.verbose:
        cppimport.set_quiet(False)

    filename = args.filename
    filedir = os.path.dirname(filename)
    filebasename = os.path.basename(filename)
    module_name, file_extension = os.path.splitext(filebasename)

    if args.add_main_caller:
        cpprun_dir = '.cpprunfiles'
        if not os.path.exists(cpprun_dir):
            os.makedirs(cpprun_dir)
        src = os.path.join(cpprun_dir, filebasename)
        open(src, 'w').write(open(filename, 'r').read() + footer)
        sys.path.append(cpprun_dir)
    else:
        sys.path.append(filedir)

    module = cppimport.imp(module_name)

    if args.verbose:
        print("Launching!")
    module.main()
Exemple #4
0
def cpp_run():
    parser = argparse.ArgumentParser(
        description='Run a C++ file with cppimport')
    parser.add_argument('filename', help='The file to run.')
    parser.add_argument(
        '--add_main_caller',
        '-m',
        action='store_true',
        help='Add a pybind11 function that will call your main()')
    parser.add_argument('--verbose',
                        '-v',
                        action='store_true',
                        help='Tell me everything!')
    args = parser.parse_args()

    if args.verbose:
        cppimport.set_quiet(False)

    filename = args.filename
    filedir = os.path.dirname(filename)
    filebasename = os.path.basename(filename)
    module_name, file_extension = os.path.splitext(filebasename)

    if args.add_main_caller:
        cpprun_dir = '.cpprunfiles'
        if not os.path.exists(cpprun_dir):
            os.makedirs(cpprun_dir)
        src = os.path.join(cpprun_dir, filebasename)
        open(src, 'w').write(open(filename, 'r').read() + footer)
        sys.path.append(cpprun_dir)
    else:
        sys.path.append(filedir)

    module = cppimport.imp(module_name)

    if args.verbose:
        print("Launching!")
    module.main()
Exemple #5
0
import cppimport
cppimport.set_quiet(False)
# A hack required to get relative imports working
# with cppimport
import sys
import os
sys.path.insert(0, os.path.dirname(__file__))
try:
    cppimport.imp('marker_ba')
#    cppimport.imp('_theia')
finally:
    sys.path.pop(0)
from marker_ba import *
#import _theia as theia
Exemple #6
0
import os
import sys
import copy
import subprocess
import contextlib
import cppimport
import cppimport.import_hook as cppimp
cppimport.set_quiet(False)

@contextlib.contextmanager
def appended(filename, text):
    orig = open(filename, 'r').read()
    open(filename, 'a').write(text)
    try:
        yield
    finally:
        open(filename, 'w').write(orig)

def subprocess_check(test_code, returncode = 0):
    p = subprocess.Popen([
        'python', '-c', test_code
    ], cwd = os.path.dirname(__file__))
    p.wait()
    assert(p.returncode == returncode)

def test_find_module_cpppath():
    mymodule_loc = cppimp.find_module_cpppath("mymodule")
    mymodule_dir = os.path.dirname(mymodule_loc)
    assert(os.path.basename(mymodule_loc) == "mymodule.cpp")

    apackage_path = os.path.join(mymodule_dir, 'apackage', 'mymodule.cpp')
Exemple #7
0
"""
Author: Fritz Alder
Copyright: 
Secure Systems Group, Aalto University 
https://ssg.aalto.fi/

This code is released under Apache 2.0 license
http://www.apache.org/licenses/LICENSE-2.0
"""

# cpp
import cppimport
import cppimport.import_hook

cppimport.set_quiet(True)
from lib import minionn as minionn

import logging

logger = logging.getLogger('minionn.minionn_helper')

from operator import mul
from functools import reduce

import numpy as np

from . import config


#TODO: Work with tensor objects held by a tensorhandler
class Tensor(object):