[libc-commits] [PATCH] D148486: [libc] Test the RPC interface with multiple blocks

Joseph Huber via Phabricator via libc-commits libc-commits at lists.llvm.org
Tue Apr 18 09:01:40 PDT 2023


jhuber6 updated this revision to Diff 514660.
jhuber6 added a comment.

Update to use the GPU utility library.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148486/new/

https://reviews.llvm.org/D148486

Files:
  libc/cmake/modules/LLVMLibCTestRules.cmake
  libc/test/integration/startup/gpu/CMakeLists.txt
  libc/test/integration/startup/gpu/rpc_test.cpp


Index: libc/test/integration/startup/gpu/rpc_test.cpp
===================================================================
--- libc/test/integration/startup/gpu/rpc_test.cpp
+++ libc/test/integration/startup/gpu/rpc_test.cpp
@@ -6,15 +6,16 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/GPU/utils.h"
 #include "src/__support/RPC/rpc_client.h"
 #include "test/IntegrationTest/test.h"
 
 using namespace __llvm_libc;
 
 static void test_add_simple() {
-  constexpr int num_additions = 10000;
+  uint32_t num_additions = 1000 + 10 * get_block_id_x();
   uint64_t cnt = 0;
-  for (int i = 0; i < num_additions; ++i) {
+  for (uint32_t i = 0; i < num_additions; ++i) {
     rpc::Port port = rpc::client.open(rpc::TEST_INCREMENT);
     port.send_and_recv(
         [=](rpc::Buffer *buffer) {
@@ -30,5 +31,6 @@
 
 TEST_MAIN(int argc, char **argv, char **envp) {
   test_add_simple();
+
   return 0;
 }
Index: libc/test/integration/startup/gpu/CMakeLists.txt
===================================================================
--- libc/test/integration/startup/gpu/CMakeLists.txt
+++ libc/test/integration/startup/gpu/CMakeLists.txt
@@ -20,4 +20,8 @@
     rpc_test.cpp
   DEPENDS
     libc.src.__support.RPC.rpc_client
+    libc.src.__support.GPU.utils
+  LOADER_ARGS
+    --blocks 16
+    --threads 1
 )
Index: libc/cmake/modules/LLVMLibCTestRules.cmake
===================================================================
--- libc/cmake/modules/LLVMLibCTestRules.cmake
+++ libc/cmake/modules/LLVMLibCTestRules.cmake
@@ -421,7 +421,7 @@
     "INTEGRATION_TEST"
     "" # No optional arguments
     "SUITE" # Single value arguments
-    "SRCS;HDRS;DEPENDS;ARGS;ENV;COMPILE_OPTIONS" # Multi-value arguments
+    "SRCS;HDRS;DEPENDS;ARGS;ENV;COMPILE_OPTIONS;LOADER_ARGS" # Multi-value arguments
     ${ARGN}
   )
 
@@ -533,6 +533,7 @@
     ${fq_target_name}
     COMMAND ${INTEGRATION_TEST_ENV}
             $<$<BOOL:${LIBC_TARGET_ARCHITECTURE_IS_GPU}>:${gpu_loader_exe}>
+            ${INTEGRATION_TEST_LOADER_ARGS}
             $<TARGET_FILE:${fq_build_target_name}> ${INTEGRATION_TEST_ARGS}
     COMMENT "Running integration test ${fq_target_name}"
   )


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148486.514660.patch
Type: text/x-patch
Size: 2213 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20230418/c557305f/attachment-0001.bin>


More information about the libc-commits mailing list