Eu fiz algumas lmbench com minha placa Jetson com Tegra-K1 e Debian Stretch e obtive apenas 3900 para a cópia STREAM (on-line eu acho 6430) e 2730 para a escala (online 6400).
Quando apenas a adição de multiplicação com um fator constante desacelera a operação, o problema não parece ser com a largura de banda da memória, mas com a taxa de transferência da CPU.
Então, eu queria dar uma olhada em /sys/devices/system/cpu
, mas cpu0
e assim por diante não têm cpufreq
e a cpufreq
dir diretamente em cpu
está vazia.
A dmesg
"propriedade de freqüência de clock ausente" para cada núcleo.
Então eu finalmente baixei fontes do kernel para encontrar linux-source-4.9/arch/arm/boot/dts/tegra124-jetson-tk1.dts
sem informações úteis e tegra124-jetson-tk1-emc.dtsi
com 2421 linhas de possíveis configurações de frequência, mas a mais rápida de 924 MHz (muito lenta). Finalmente, há um tegra124.dtsi
incluído com
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0>;
clocks = <&tegra_car TEGRA124_CLK_CCLK_G>,
<&tegra_car TEGRA124_CLK_CCLK_LP>,
<&tegra_car TEGRA124_CLK_PLL_X>,
<&tegra_car TEGRA124_CLK_PLL_P>,
<&dfll>;
clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
/* FIXME: what's the actual transition time? */
clock-latency = <300000>;
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <1>;
};
cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <2>;
};
cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <3>;
};
};
Mas não tenho experiência suficiente para entender o que fazer para ativar a visualização (e configuração) da frequência da cpu.