def test_compile_empty_program(self): i = get_interface() prog = i.nvrtcCreateProgram('#include "foo.h"\n' '__global__ void k() {}\n', 'simple.cu', ['__device__ void f() {}\n'], ['foo.h']) i.nvrtcCompileProgram(prog, []) i.nvrtcDestroyProgram(prog)
def test_compile_empty_program(self): i = get_interface() prog = i.nvrtcCreateProgram( '#include "foo.h"\n' '__global__ void k() {}\n', 'simple.cu', ['__device__ void f() {}\n'], ['foo.h']) i.nvrtcCompileProgram(prog, []) i.nvrtcDestroyProgram(prog)
def test_program_output(self): import pynvrtc.interface i = get_interface() prog = i.nvrtcCreateProgram('__global__ void k() {}\n', 'simple.cu', [], []) i.nvrtcCompileProgram(prog, []) ptx = i.nvrtcGetPTX(prog) self.assertTrue(len(ptx) > 0) i.nvrtcDestroyProgram(prog)
def test_program_log(self): import pynvrtc.interface i = get_interface() prog = i.nvrtcCreateProgram('__global__ int k() {}\n', 'simple.cu', [], []) self.assertRaises(pynvrtc.interface.NVRTCException, i.nvrtcCompileProgram, prog, []) log = i.nvrtcGetProgramLog(prog) self.assertTrue(len(log) > 0) i.nvrtcDestroyProgram(prog)
def test_verify_empty_program(self): i = get_interface() prog = i.nvvmCreateProgram() i.nvvmAddModuleToProgram(prog, """ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" define void @foo() { ret void }""", 'mymodule') i.nvvmVerifyProgram(prog, []) i.nvvmDestroyProgram(prog)
def test_verify_empty_program(self): i = get_interface() prog = i.nvvmCreateProgram() i.nvvmAddModuleToProgram( prog, """ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" define void @foo() { ret void }""", 'mymodule') i.nvvmVerifyProgram(prog, []) i.nvvmDestroyProgram(prog)
def test_lower_name(self): import pynvrtc.interface i = get_interface() prog = i.nvrtcCreateProgram('template<typename T>\n' '__global__ void k(T *ptr) {}\n', 'simple.cu', [], []) i.nvrtcAddNameExpression(prog, 'k<float>') i.nvrtcAddNameExpression(prog, 'k<int>') i.nvrtcCompileProgram(prog, []) name = i.nvrtcGetLoweredName(prog, 'k<float>') self.assertTrue(name == "_Z1kIfEvPT_") name = i.nvrtcGetLoweredName(prog, 'k<int>') self.assertTrue(name == "_Z1kIiEvPT_")
def test_lower_name(self): import pynvrtc.interface i = get_interface() prog = i.nvrtcCreateProgram( 'template<typename T>\n' '__global__ void k(T *ptr) {}\n', 'simple.cu', [], []) i.nvrtcAddNameExpression(prog, 'k<float>') i.nvrtcAddNameExpression(prog, 'k<int>') i.nvrtcCompileProgram(prog, []) name = i.nvrtcGetLoweredName(prog, 'k<float>') self.assertTrue(name == "_Z1kIfEvPT_") name = i.nvrtcGetLoweredName(prog, 'k<int>') self.assertTrue(name == "_Z1kIiEvPT_")
def test_verify_failure(self): import pynvvm.interface i = get_interface() prog = i.nvvmCreateProgram() i.nvvmAddModuleToProgram(prog, """ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" declare void @bar() define void @foo() { invoke void @bar() ret void }""", 'mymodule') self.assertRaises(pynvvm.interface.NVVMException, i.nvvmVerifyProgram, prog, []) i.nvvmDestroyProgram(prog)
def test_program_output(self): import pynvvm.interface i = get_interface() prog = i.nvvmCreateProgram() i.nvvmAddModuleToProgram(prog, """ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" define void @foo() { ret void }""", 'mymodule') i.nvvmCompileProgram(prog, []) ptx = i.nvvmGetCompiledResult(prog) self.assertTrue(len(ptx) > 0) i.nvvmDestroyProgram(prog)
def test_program_log(self): import pynvvm.interface i = get_interface() prog = i.nvvmCreateProgram() i.nvvmAddModuleToProgram(prog, """ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" define void @foo() { ; No terminator }""", 'mymodule') self.assertRaises(pynvvm.interface.NVVMException, i.nvvmCompileProgram, prog, []) log = i.nvvmGetProgramLog(prog) self.assertTrue(len(log) > 0) i.nvvmDestroyProgram(prog)
def test_program_output(self): import pynvvm.interface i = get_interface() prog = i.nvvmCreateProgram() i.nvvmAddModuleToProgram( prog, """ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" define void @foo() { ret void }""", 'mymodule') i.nvvmCompileProgram(prog, []) ptx = i.nvvmGetCompiledResult(prog) self.assertTrue(len(ptx) > 0) i.nvvmDestroyProgram(prog)
def test_verify_failure(self): import pynvvm.interface i = get_interface() prog = i.nvvmCreateProgram() i.nvvmAddModuleToProgram( prog, """ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" declare void @bar() define void @foo() { invoke void @bar() ret void }""", 'mymodule') self.assertRaises(pynvvm.interface.NVVMException, i.nvvmVerifyProgram, prog, []) i.nvvmDestroyProgram(prog)
def test_program_log(self): import pynvvm.interface i = get_interface() prog = i.nvvmCreateProgram() i.nvvmAddModuleToProgram( prog, """ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" define void @foo() { ; No terminator }""", 'mymodule') self.assertRaises(pynvvm.interface.NVVMException, i.nvvmCompileProgram, prog, []) log = i.nvvmGetProgramLog(prog) self.assertTrue(len(log) > 0) i.nvvmDestroyProgram(prog)
def on_createRoom(self, *args, **kwargs): self.roomId = args[0]["roomId"] url = "http://%s:5000/client/stream/?roomId=%s" if ARGS["web"]: url = url % (SERVER_ADDR, self.roomId) else: addrs = psutil.net_if_addrs() interface = get_interface() local_addr = addrs[interface][0].address # modify url = url % (local_addr, self.roomId) from util import print_url print_url(url) if ARGS["qr"]: from util import print_qr print(f"\n[{colored('$','blue')}] Or scan the QR code given below") print_qr(url)
def test_create_program(self): i = get_interface() prog = i.nvrtcCreateProgram('__global__ void k() {}\n', 'simple.cu', [], []) i.nvrtcDestroyProgram(prog)
def xmlrpc_get_interface(self, address): """ Finds first interface that has given address """ return util.get_interface(address)
def test_create_program(self): i = get_interface() prog = i.nvvmCreateProgram() i.nvvmDestroyProgram(prog)
def test_simple_import(self): get_interface()