From 69f2adf5409ecbc3c3ca36ab954c3b16e226a8cb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 06:41:48 +0000 Subject: [PATCH] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/cpp/backends/amdgpu_device_test.cpp | 75 +++++++++++++---------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/tests/cpp/backends/amdgpu_device_test.cpp b/tests/cpp/backends/amdgpu_device_test.cpp index a9a48115959a91..8a0b0326870b9f 100644 --- a/tests/cpp/backends/amdgpu_device_test.cpp +++ b/tests/cpp/backends/amdgpu_device_test.cpp @@ -23,8 +23,6 @@ #include "tests/cpp/program/test_program.h" - - namespace taichi { namespace lang { TEST(AMDGPU, CreateDeviceAndAlloc) { @@ -106,62 +104,71 @@ TEST(AMDGPU, CreateContextAndGetMemInfo) { } TEST(AMDGPU, CreateModuleAndLaunchKernel) { - std::string program = -"target datalayout = \"e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7\"\n" -"target triple = \"amdgcn-amd-amdhsa\"\n" -"define amdgpu_kernel void @runtime_add(double addrspace(1)* %0, double addrspace(1)* %1, double addrspace(1)* %2) #0 {\n" -" %4 = alloca double*, align 8, addrspace(5)\n" -" %5 = addrspacecast double addrspace(1)* %2 to double*\n" -" %6 = addrspacecast double addrspace(1)* %1 to double*\n" -" %7 = addrspacecast double addrspace(1)* %0 to double*\n" -" %8 = addrspacecast double* addrspace(5)* %4 to double**\n" -" %9 = alloca double*, align 8, addrspace(5)\n" -" %10 = addrspacecast double* addrspace(5)* %9 to double**\n" -" %11 = alloca double*, align 8, addrspace(5)\n" -" %12 = addrspacecast double* addrspace(5)* %11 to double**\n" -" store double* %7, double** %8, align 8\n" -" store double* %6, double** %10, align 8\n" -" store double* %5, double** %12, align 8\n" -" %13 = load double*, double** %8, align 8\n" -" %14 = load double, double* %13, align 8\n" -" %15 = load double*, double** %10, align 8\n" -" %16 = load double, double* %15, align 8\n" -" %17 = fadd contract double %14, %16\n" -" %18 = load double*, double** %12, align 8\n" -" store double %17, double* %18, align 8\n" -" ret void\n" -"}\n"; -llvm::LLVMContext llvm_context; + std::string program = + "target datalayout = " + "\"e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:" + "64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:" + "1024-v2048:2048-n32:64-S32-A5-G1-ni:7\"\n" + "target triple = \"amdgcn-amd-amdhsa\"\n" + "define amdgpu_kernel void @runtime_add(double addrspace(1)* %0, double " + "addrspace(1)* %1, double addrspace(1)* %2) #0 {\n" + " %4 = alloca double*, align 8, addrspace(5)\n" + " %5 = addrspacecast double addrspace(1)* %2 to double*\n" + " %6 = addrspacecast double addrspace(1)* %1 to double*\n" + " %7 = addrspacecast double addrspace(1)* %0 to double*\n" + " %8 = addrspacecast double* addrspace(5)* %4 to double**\n" + " %9 = alloca double*, align 8, addrspace(5)\n" + " %10 = addrspacecast double* addrspace(5)* %9 to double**\n" + " %11 = alloca double*, align 8, addrspace(5)\n" + " %12 = addrspacecast double* addrspace(5)* %11 to double**\n" + " store double* %7, double** %8, align 8\n" + " store double* %6, double** %10, align 8\n" + " store double* %5, double** %12, align 8\n" + " %13 = load double*, double** %8, align 8\n" + " %14 = load double, double* %13, align 8\n" + " %15 = load double*, double** %10, align 8\n" + " %16 = load double, double* %15, align 8\n" + " %17 = fadd contract double %14, %16\n" + " %18 = load double*, double** %12, align 8\n" + " store double %17, double* %18, align 8\n" + " ret void\n" + "}\n"; + llvm::LLVMContext llvm_context; llvm::SMDiagnostic diagnostic_err; std::unique_ptr llvm_module = llvm::parseIR( llvm::MemoryBuffer::getMemBuffer(program)->getMemBufferRef(), diagnostic_err, llvm_context); // Note: The TaichiLLVMContext amdgpu-related api has not be submitted. - // auto amdgpu_session = new JITSessionAMDGPU(new TaichiLLVMContext(new CompileConfig, Arch::amdgpu), new CompileConfig(), llvm::DataLayout("")); + // auto amdgpu_session = new JITSessionAMDGPU(new TaichiLLVMContext(new + // CompileConfig, Arch::amdgpu), new CompileConfig(), llvm::DataLayout("")); LLVMInitializeAMDGPUTarget(); LLVMInitializeAMDGPUTargetMC(); LLVMInitializeAMDGPUTargetInfo(); LLVMInitializeAMDGPUAsmPrinter(); LLVMInitializeAMDGPUAsmParser(); - auto amdgpu_session = new JITSessionAMDGPU(nullptr, new CompileConfig(), llvm::DataLayout("")); + auto amdgpu_session = + new JITSessionAMDGPU(nullptr, new CompileConfig(), llvm::DataLayout("")); auto amdgpu_module = amdgpu_session->add_module(std::move(llvm_module), 0); std::vector arg_pointers; double *args[3]; size_t args_size = sizeof(double) * 3; - AMDGPUDriver::get_instance().malloc((void**)&(args[0]), sizeof(double) * 3); + AMDGPUDriver::get_instance().malloc((void **)&(args[0]), sizeof(double) * 3); args[1] = args[0] + 1; args[2] = args[0] + 2; double a = 10.0; double b = 7.0; double ret; - AMDGPUDriver::get_instance().memcpy_host_to_device(args[0], &a, sizeof(double)); - AMDGPUDriver::get_instance().memcpy_host_to_device(args[1], &b, sizeof(double)); + AMDGPUDriver::get_instance().memcpy_host_to_device(args[0], &a, + sizeof(double)); + AMDGPUDriver::get_instance().memcpy_host_to_device(args[1], &b, + sizeof(double)); arg_pointers.push_back((void *)args); arg_pointers.push_back((void *)&args_size); amdgpu_module->call("runtime_add", arg_pointers); AMDGPUDriver::get_instance().stream_synchronize(nullptr); - AMDGPUDriver::get_instance().memcpy_device_to_host(&ret, args[2], sizeof(double)); + AMDGPUDriver::get_instance().memcpy_device_to_host(&ret, args[2], + sizeof(double)); EXPECT_EQ(ret, 10.0 + 7.0); AMDGPUDriver::get_instance().mem_free(args[0]); }