From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com [IPv6:2607:f8b0:4864:20::42f]) by sourceware.org (Postfix) with ESMTPS id 5A66A3836C72 for ; Mon, 1 Feb 2021 21:29:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5A66A3836C72 Received: by mail-pf1-x42f.google.com with SMTP id e19so12501156pfh.6 for ; Mon, 01 Feb 2021 13:29:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:content-transfer-encoding:from:mime-version :subject:date:message-id:references:cc:in-reply-to:to; bh=P9ZnqIZ6Xm4sXS5/ztAP8sikgFak2oQP+EfL1LhlCKU=; b=kxP2TYE3hUd/uQDc5hDvgjkmA7AZ5mdS9ph0SKXlUancSuC0yR7JH9RIzPYcsjYqTZ C/mzyH3Ce/Yu/zp0IuntIQg6hhk54Rs6u2RQgzzq9FEMVbsGf3LDstzkyuZBRD9BZZUC 9le0vX5Vhan+mkaBAsjgc5NvzJ0WfPTARKYyn7aZ0TU7EuuhIOW99Zr2KgQ+eOb2toHm mbtdeRmIJfkMMyB9k1SkQe5lCif8amsr0YNa8k6Ms7w2C8g1QUPedNa5aO18NzLhwaQG L+Iy8yRh9JO2tYODGwgRHUw7dVC0v3Pi1nzAsZ1ffl/oU7mUPUrnE2bpBskoLGi0z+Zo sFsQ== X-Gm-Message-State: AOAM533AtM2ZaUkUop5G7Jou0cEl/BNIRU3q42rEV/qp7xYer5edwDB9 gCKw6QL4EsKlgGYrKcMeQJ0= X-Google-Smtp-Source: ABdhPJxklEnTIAw/gaZw8oapPIyAlf9I5tyuiADAewjs44NTH/mtTAdk94+0yst883XAxjIQao27NQ== X-Received: by 2002:a65:6119:: with SMTP id z25mr18416300pgu.17.1612214997564; Mon, 01 Feb 2021 13:29:57 -0800 (PST) Received: from [192.168.1.18] (c-73-71-73-180.hsd1.ca.comcast.net. [73.71.73.180]) by smtp.gmail.com with ESMTPSA id c3sm19280441pfj.105.2021.02.01.13.29.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Feb 2021 13:29:56 -0800 (PST) From: It's Me Mime-Version: 1.0 (1.0) Subject: Re: ROCm (Rocgdb debugger) use queues to pass debug commands? Date: Mon, 1 Feb 2021 13:29:55 -0800 Message-Id: References: Cc: "gdb@sourceware.org" In-Reply-To: To: "Tye, Tony" X-Mailer: iPhone Mail (17C54) X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, MIME_QP_LONG_LINE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gdb@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Feb 2021 21:29:59 -0000 Hi Tony ,=20 I appreciate the reply , thanks .=20 So just to confirm the commands are not encapsulated in a packet and pushed i= nto queues in HSA AQL queues .=20 Can you please give a high level path for setting a breakpoint from user lan= d to the GPU ( how the flow happen through the software stack )=20 Also if there is not much trouble can you also provide any APIs for passing a= breakpoint . I looked through rocgdb / rocgdb driver code / ROCm API .. and= the clear path is not clear for me ..=20 Again thanks a lot for the help and the reply . Appreciated=20 > On Feb 1, 2021, at 12:24 PM, Tye, Tony wrote: >=20 > =EF=BB=BF[AMD Official Use Only - Internal Distribution Only] >=20 > rocgdb uses a driver that provides an ioctl interface that is similar in c= oncept to what the ptrace and waitpid do for a CPU. There is a Debugger API l= ibrary that uses the ioctl interface to provide an general way to control th= e GPU threads. There is a rocm target that is part of gdb that uses the Debu= gger ABI to allow GPU threads to be controlled just like CPU threads. All th= e code is open source. >=20 > Thanks, > -Tony >=20 > -----Original Message----- > From: Gdb On Behalf Of It's Me via Gdb > Sent: Monday, February 1, 2021 3:18 PM > To: gdb@sourceware.org > Subject: ROCm (Rocgdb debugger) use queues to pass debug commands? >=20 > [CAUTION: External Email] >=20 > Hi , >=20 > In a heterogenous environment , how ROCm / rocgdb pass its debug commands (= example : breakpoint command) to the target ( Example a GPU) . Does the deb= ugger queue it=E2=80=99s debug commands using HSA queues ? If that=E2=80=99s= not that case how ? >=20 > What is the role of the driver in this case . >=20 > Thanks