From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@bugzilla.kernel.org
Subject: [Bug 82581] CL_DEVICE_MAX_COMPUTE_UNITS increases by 100 every time
runpm powers on 7970M pitcairn
Date: Mon, 18 Aug 2014 19:02:22 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Return-path:
Received: from mail.kernel.org (mail.kernel.org [198.145.19.201])
by gabe.freedesktop.org (Postfix) with ESMTP id 7E4EC6E152
for ; Mon, 18 Aug 2014 12:02:25 -0700 (PDT)
Received: from mail.kernel.org (localhost [127.0.0.1])
by mail.kernel.org (Postfix) with ESMTP id 8D0532013A
for ; Mon, 18 Aug 2014 19:02:24 +0000 (UTC)
Received: from bugzilla2.web.kernel.org (bugzilla2.web.kernel.org
[172.20.200.52])
by mail.kernel.org (Postfix) with ESMTP id 856C22012E
for ; Mon, 18 Aug 2014 19:02:22 +0000 (UTC)
In-Reply-To:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: dri-devel@lists.freedesktop.org
List-Id: dri-devel@lists.freedesktop.org
https://bugzilla.kernel.org/show_bug.cgi?id=82581
--- Comment #2 from Christoph Haag ---
It helps for the issue of increasing.
But now it always returns 100.
I don't think the HD 7970M has 100 compute units.
http://www.amd.com/de-de/products/graphics/notebook/7900m#2
says
"20 Compute Units (1280 Stream Processors)"
To see how it adds up to 100 I added some debug info like this:
printk("rdbg max_shader_engines: %d\n", rdev->config.si.max_shader_engines);
printk("rdbg max_sh_per_se: %d\n", rdev->config.si.max_sh_per_se);
printk("rdbg max_cu_per_sh: %d\n", rdev->config.si.max_cu_per_sh);
for (i = 0; i < rdev->config.si.max_shader_engines; i++) {
for (j = 0; j < rdev->config.si.max_sh_per_se; j++) {
for (k = 0; k < rdev->config.si.max_cu_per_sh; k++) {
rdev->config.si.active_cus +=
hweight32(si_get_cu_active_bitmap(rdev, i, j));
printk("rdbg inner: rdev->config.si.active_cus: %d,
hweight32(si_get_cu_active_bitmap(rdev, %d, %d)): %d\n",
rdev->config.si.active_cus, i, j, hweight32(si_get_cu_active_bitmap(rdev, i,
j)));
}
}
}
And then I got this output:
rdbg max_shader_engines: 2
rdbg max_sh_per_se: 2
rdbg max_cu_per_sh: 5
rdbg inner: rdev->config.si.active_cus: 5,
hweight32(si_get_cu_active_bitmap(rdev, 0, 0)): 5
rdbg inner: rdev->config.si.active_cus: 10,
hweight32(si_get_cu_active_bitmap(rdev, 0, 0)): 5
rdbg inner: rdev->config.si.active_cus: 15,
hweight32(si_get_cu_active_bitmap(rdev, 0, 0)): 5
rdbg inner: rdev->config.si.active_cus: 20,
hweight32(si_get_cu_active_bitmap(rdev, 0, 0)): 5
rdbg inner: rdev->config.si.active_cus: 25,
hweight32(si_get_cu_active_bitmap(rdev, 0, 0)): 5
rdbg inner: rdev->config.si.active_cus: 30,
hweight32(si_get_cu_active_bitmap(rdev, 0, 1)): 5
rdbg inner: rdev->config.si.active_cus: 35,
hweight32(si_get_cu_active_bitmap(rdev, 0, 1)): 5
rdbg inner: rdev->config.si.active_cus: 40,
hweight32(si_get_cu_active_bitmap(rdev, 0, 1)): 5
rdbg inner: rdev->config.si.active_cus: 45,
hweight32(si_get_cu_active_bitmap(rdev, 0, 1)): 5
rdbg inner: rdev->config.si.active_cus: 50,
hweight32(si_get_cu_active_bitmap(rdev, 0, 1)): 5
rdbg inner: rdev->config.si.active_cus: 55,
hweight32(si_get_cu_active_bitmap(rdev, 1, 0)): 5
rdbg inner: rdev->config.si.active_cus: 60,
hweight32(si_get_cu_active_bitmap(rdev, 1, 0)): 5
rdbg inner: rdev->config.si.active_cus: 65,
hweight32(si_get_cu_active_bitmap(rdev, 1, 0)): 5
rdbg inner: rdev->config.si.active_cus: 70,
hweight32(si_get_cu_active_bitmap(rdev, 1, 0)): 5
rdbg inner: rdev->config.si.active_cus: 75,
hweight32(si_get_cu_active_bitmap(rdev, 1, 0)): 5
rdbg inner: rdev->config.si.active_cus: 80,
hweight32(si_get_cu_active_bitmap(rdev, 1, 1)): 5
rdbg inner: rdev->config.si.active_cus: 85,
hweight32(si_get_cu_active_bitmap(rdev, 1, 1)): 5
rdbg inner: rdev->config.si.active_cus: 90,
hweight32(si_get_cu_active_bitmap(rdev, 1, 1)): 5
rdbg inner: rdev->config.si.active_cus: 95,
hweight32(si_get_cu_active_bitmap(rdev, 1, 1)): 5
rdbg inner: rdev->config.si.active_cus: 100,
hweight32(si_get_cu_active_bitmap(rdev, 1, 1)): 5
I think the k loop is already iterating over the compute units, but instead of
1 unit being added to the total, the result of si_get_cu_active_bitmap is
added, which also seems to add up the compute units.
--
You are receiving this mail because:
You are watching the assignee of the bug.