From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id nrjhHttyGGBlFQAAWB0awg (envelope-from ) for ; Mon, 01 Feb 2021 16:30:03 -0500 Received: by simark.ca (Postfix, from userid 112) id 6FFFF1EF80; Mon, 1 Feb 2021 16:30:03 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RDNS_NONE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 832B71E939 for ; Mon, 1 Feb 2021 16:30:02 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9A1A03836C72; Mon, 1 Feb 2021 21:30:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9A1A03836C72 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1612215001; bh=LBHA+i/hzzlBcrBaea493TWm9okPbTv24yiLjDb8wDQ=; h=Subject:Date:References:In-Reply-To:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=usRmi9i9Fgee+bwKuN8uayyLE4R9PqkZlXJH6B6J5FJwXRzEFVTKHm1mLvEZoiVsp +jjY40HpG3pZxqZX9IBjCJx1lWzzqjJTkrj1sHvsYe1RqyYAWa0PHcjAw2Q0iSh3cN pZckoIS2Mv7AZC/Ex77Kf5vrWBGDHsbHYRF3Sn94= 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) 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: In-Reply-To: To: "Tye, Tony" X-Mailer: iPhone Mail (17C54) 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: , From: It's Me via Gdb Reply-To: It's Me Cc: "gdb@sourceware.org" Errors-To: gdb-bounces@sourceware.org Sender: "Gdb" 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