From patchwork Tue Oct 17 15:45:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lancelot SIX X-Patchwork-Id: 78043 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4E6A6385B53E for ; Tue, 17 Oct 2023 15:46:49 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2061.outbound.protection.outlook.com [40.107.94.61]) by sourceware.org (Postfix) with ESMTPS id 54C123858418 for ; Tue, 17 Oct 2023 15:46:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 54C123858418 Authentication-Results: sourceware.org; dmarc=fail (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 54C123858418 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.94.61 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697557595; cv=pass; b=fOA7PyV2Q8Kw6uRIJbDeAljREgWrSKA8QztVHHDzSdYxm0g04sZleeRa89YPhcRGr1AYCLuc+p5TfSe8CnYpAlXiBTFC9hjBtiecsYARxIFnOroT0Oww7rwxx5I9LJ4nvZFne9RzWWzIgv4dF8h7uwQFdJcd9oTvRg6RwGTuSfM= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697557595; c=relaxed/simple; bh=ia8tAYyFLQBJMctFqmX6o4tWz1Wr9dwYj02Xs1H+Ac4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=hiR0WRrhqTnFvKg+m3ThCvM6Sc3M5gKdkjGTdd2G6f6YhiOyMzT+bRSgjg36+5CARCZSVOQoeaEsX1Yk5mYtt+tSnsCCsTB1ozfoPgEpsp4QYf7RmFcqnoW5QKuNiwmPz7UTKgpm4o0WC7YxgTpCXXcsBN+q7y4iu8OB/XaUm1g= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TcyiOVUYmSdp6OwD/zSHx1rwvkXkuihd6flCvTPPBy/z5Nago614T5SdHSatrt/8IMZ3p9Lz7fPJ0KK+NfBmw62bS5m0UjpDm5/pKWWP5dgPtNjCkozX7uMOty9SN5KBN3TKgXMpEzAqn10ShmMjmdXB5pLntjFp/XMQT410ATB6lKmeGr/8iKh/rfeTxGiVXFZ2B44coUHrwIy2FtkCrDItFLMLLEPwK6qT7bQdXC5X1DvjeAV3UKYTT3OURy8XAyXsAPe385OKnLAVYT8DzHBVqb5Soz4PJZj0QYPj6wzcecnBnO8RsDye11LY+q65SCVfdr2YWkptQlfqRSgGRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=B1CF+V6Fb6iXHQbi+swUW608cDc9Ft0EbatgWrVbniw=; b=D7JjPv7zgbKG2kdEf4C//KYTkwBfnjn+Nj9bTCeA+J+nkC0rilE+pc9bsDSTIU4cgMm6WdhqauVDWNMijtippoft1PVRQ5vEtV1oJJ2rd9V3BHWOFLCtvUZ2lhJibvE4Oil68niQpuOhwKOkUPthkgKLr1iKgwgsDlkcU5ioTVXnQJimn4CkoKFP/67YIdDeS1Y/e8LObeb36wHLMwYdqYYyNAWpuzis8Bh0IHmbE7MWAkK04hj+R01Xbtvrhzqcg56BH49Odi/HCzjgtnVbNS6AsSEM1rCxZgUBhAKV/bL2310S+PkNO0FJllPInStxkHR5QXs5438tJuiLV+dQgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=sourceware.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=B1CF+V6Fb6iXHQbi+swUW608cDc9Ft0EbatgWrVbniw=; b=uGE+SqtFFBJTYhPD4wi0R8v85Iqc9qekoKMOWATiZOh6LLoD3BZM3AqIJWgB11KHehaBj5JXZZRWCq6K4bygYdBOMRK8PkW1V2iwu+vJ7/c7/FqE0LoNIh4EPduDHXm2VdAQ60Qi9lwn41q0KlNSkPoUQyzp5o2xs2oYRUmR6rQ= Received: from SJ0PR13CA0216.namprd13.prod.outlook.com (2603:10b6:a03:2c1::11) by BL1PR12MB5064.namprd12.prod.outlook.com (2603:10b6:208:30a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.21; Tue, 17 Oct 2023 15:46:30 +0000 Received: from MWH0EPF000989EC.namprd02.prod.outlook.com (2603:10b6:a03:2c1:cafe::c5) by SJ0PR13CA0216.outlook.office365.com (2603:10b6:a03:2c1::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.17 via Frontend Transport; Tue, 17 Oct 2023 15:46:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989EC.mail.protection.outlook.com (10.167.241.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6907.22 via Frontend Transport; Tue, 17 Oct 2023 15:46:00 +0000 Received: from hpe6u-23.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 17 Oct 2023 10:45:59 -0500 From: Lancelot Six To: CC: Lancelot Six Subject: [PATCH v2] gdb/testsuite/gdb.rocm: Check value returned by hipDeviceSynchronize Date: Tue, 17 Oct 2023 15:45:45 +0000 Message-ID: <20231017154545.312687-1-lancelot.six@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231016151456.20709-1-lancelot.six@amd.com> References: <20231016151456.20709-1-lancelot.six@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989EC:EE_|BL1PR12MB5064:EE_ X-MS-Office365-Filtering-Correlation-Id: 3016d497-9e9d-4a6c-233e-08dbcf283ad2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 03hQQjV7VMkPYrsbMEG8J7COYKdky3BPpf7BrMzNK3ZpwATcIxv5qBjzTneqAxfHIIxJbiudoeAY8TTFnn1w3/o5X1SSFV6EqRpDA4fmMdMYx2Q6/EjkYglQhdU3Yv6o2dTZb+nVGisLctiSgWNRkq+Jf7l6juepAIpaAhOR/6d4QBFyc49iy8WUzItg3DaX1vbFXAQagl1KSMBgSekC/+VRDbkPioc89JgmOaeSxAiErt1Ew5yzc5zpPBqJPA9LXZIa/5cNWzT6LtDBMxH3UhtM9HIb19kfOQN8d3pOxaa404Vk4pp+Fp7A54iaAPlQVopjx3gCNz/+5eltCFwPOne7lGy7y0xQEjrT24ojRKMO87Td9yiycn2hdN42GuTYildw1HebUgbtQBIskuW23TmD4AF1NDfx/kZOeGQtDTeyboHxUnR1AdzEz6P8f+xxxcRS06toGxDCyGGNfOJ+hlJTt21kXfCd5eNNmC/Vsucl2CZMFf3lDAt+Q7V4gjpNQuUnEA2/mtmY4R+UWkY8TbCEzx1CtN3oE52/2NxgOUdQmsUwcxego4MMxQtR3hOEOxhRzr0U2xlKDYRBzGX6LE22svmboGgtfMq2aW8DYJjUVlK54ANGRIR0G9yFv/MyxGmcm6I+BC4FKSAwgWPRnTZ5GyhH2rBSMTsLnXtbNpOxL51063jiNadoENUzVB2IL4IYmSaugAvG9c2emcH9Kku4RkgU3L0RQ15D/D2n/clHaU7W79XWqWD3DCWiZyakzBEYh5BbwX8ushl/SllPTg== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(4636009)(396003)(39860400002)(346002)(136003)(376002)(230922051799003)(1800799009)(451199024)(82310400011)(64100799003)(186009)(36840700001)(40470700004)(46966006)(70586007)(70206006)(40480700001)(316002)(6916009)(86362001)(2906002)(40460700003)(44832011)(5660300002)(41300700001)(8936002)(8676002)(4326008)(36756003)(2616005)(1076003)(478600001)(81166007)(7696005)(6666004)(47076005)(336012)(426003)(82740400003)(356005)(16526019)(966005)(26005)(83380400001)(36860700001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2023 15:46:00.4296 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3016d497-9e9d-4a6c-233e-08dbcf283ad2 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989EC.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5064 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Functions of the hip runtime returning a hipError_t can be marked nodiscard depending on the configuration[1] (when compiled with C++17). This patch makes sure that we always check value returned by hipDeviceSynchronize and friends, and print an error message when appropriate. This avoid a wall of warnings when running the testsuite if the compiler defaults to using C++17. It is always a good practice to check the return values anyway. [1] https://github.com/ROCm-Developer-Tools/HIP/blob/docs/5.7.1/include/hip/hip_runtime_api.h#L203-L218 Change-Id: I2a819a8ac45f4bcf814efe9a2ff12c6a7ad22f97 --- Changes since V1: - Improved the commit message, - Check the return value in gdb/testsuite/lib/rocm.exp (allow_hipcc_tests) as well. --- .../gdb.rocm/fork-exec-gpu-to-non-gpu-execer.cpp | 13 ++++++++++++- .../gdb.rocm/fork-exec-non-gpu-to-gpu-execee.cpp | 14 +++++++++++++- gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp | 2 +- .../gdb.rocm/precise-memory-warning-sigsegv.cpp | 13 ++++++++++++- gdb/testsuite/gdb.rocm/precise-memory.cpp | 13 ++++++++++++- gdb/testsuite/lib/rocm.exp | 3 ++- 6 files changed, 52 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu-execer.cpp b/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu-execer.cpp index 1a731aeca51..e42c8f10bb3 100644 --- a/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu-execer.cpp +++ b/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu-execer.cpp @@ -18,6 +18,17 @@ #include #include +#define CHECK(cmd) \ + { \ + hipError_t error = cmd; \ + if (error != hipSuccess) \ + { \ + fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ + hipGetErrorString (error), error, __FILE__, __LINE__); \ + exit (EXIT_FAILURE); \ + } \ + } + __global__ static void kernel1 () {} @@ -50,6 +61,6 @@ main () kernel2<<<1, 1>>> (); - hipDeviceSynchronize (); + CHECK (hipDeviceSynchronize ()); return 0; } diff --git a/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu-execee.cpp b/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu-execee.cpp index 2de8fe20a0d..cffeedb7896 100644 --- a/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu-execee.cpp +++ b/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu-execee.cpp @@ -17,6 +17,18 @@ #include +#define CHECK(cmd) \ + { \ + hipError_t error = cmd; \ + if (error != hipSuccess) \ + { \ + fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ + hipGetErrorString (error), error, __FILE__, __LINE__); \ + exit (EXIT_FAILURE); \ + } \ + } + + __device__ static void break_here_execee () {} @@ -31,6 +43,6 @@ int main () { kernel<<<1, 1>>> (); - hipDeviceSynchronize (); + CHECK (hipDeviceSynchronize ()); return 0; } diff --git a/gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp b/gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp index d64afdd1994..4ba406f6398 100644 --- a/gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp +++ b/gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp @@ -95,7 +95,7 @@ child (int argc, char **argv) CHECK (hipSetDevice (dev_number)); kern<<<1, 1>>> (); - hipDeviceSynchronize (); + CHECK (hipDeviceSynchronize ()); return 0; } diff --git a/gdb/testsuite/gdb.rocm/precise-memory-warning-sigsegv.cpp b/gdb/testsuite/gdb.rocm/precise-memory-warning-sigsegv.cpp index bf1451ad8d5..d8ea86920e3 100644 --- a/gdb/testsuite/gdb.rocm/precise-memory-warning-sigsegv.cpp +++ b/gdb/testsuite/gdb.rocm/precise-memory-warning-sigsegv.cpp @@ -17,6 +17,17 @@ #include +#define CHECK(cmd) \ + { \ + hipError_t error = cmd; \ + if (error != hipSuccess) \ + { \ + fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ + hipGetErrorString (error), error, __FILE__, __LINE__); \ + exit (EXIT_FAILURE); \ + } \ + } + __global__ void kernel () { @@ -28,6 +39,6 @@ int main (int argc, char* argv[]) { kernel<<<1, 1>>> (); - hipDeviceSynchronize (); + CHECK (hipDeviceSynchronize ()); return 0; } diff --git a/gdb/testsuite/gdb.rocm/precise-memory.cpp b/gdb/testsuite/gdb.rocm/precise-memory.cpp index 034f02382ad..610f1873df6 100644 --- a/gdb/testsuite/gdb.rocm/precise-memory.cpp +++ b/gdb/testsuite/gdb.rocm/precise-memory.cpp @@ -17,6 +17,17 @@ #include +#define CHECK(cmd) \ + { \ + hipError_t error = cmd; \ + if (error != hipSuccess) \ + { \ + fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ + hipGetErrorString (error), error, __FILE__, __LINE__); \ + exit (EXIT_FAILURE); \ + } \ + } + __global__ void kernel () { @@ -27,6 +38,6 @@ int main (int argc, char* argv[]) { kernel<<<1, 1>>> (); - hipDeviceSynchronize (); + CHECK (hipDeviceSynchronize ()); return 0; } diff --git a/gdb/testsuite/lib/rocm.exp b/gdb/testsuite/lib/rocm.exp index fcdf665aef9..c2ffc571933 100644 --- a/gdb/testsuite/lib/rocm.exp +++ b/gdb/testsuite/lib/rocm.exp @@ -93,7 +93,8 @@ gdb_caching_proc allow_hipcc_tests {} { main () { kern<<<1, 1>>> (); - hipDeviceSynchronize (); + if (hipDeviceSynchronize () != hipSuccess) + return -1; return 0; } } executable $flags]} {