Evento Apple dia 10 de Setembro - "By innovation only."

Eu continuo a imaginar cenários onde uma pen é imbatível e um rato é imbatível. O iPad é o dispositivo ideal para eles coexistirem. Até agora é para mim claro que a inexistência do suporte de rato no iPad tem sido um enorme limitador. Compreendo que o Tim Cook possa pensar assim mas por outro lado a criação do iPadOS aponta para que algo mudou dentro da Apple.
Eu ainda não consigo fazer prognósticos. Ainda não instalei nenhuma beta, não mexi no iOS 13. Quero ver o que ai vem e se lançam algum dispositivo com algo mais. E esse algo mais pode ser o que o @Trance apontou de o teclado ser muito pouco ergonómico. Um teclado rígido copiando o Surface Book, tendo ou não algo mais no teclado que não o simples teclado.
 
Eu ainda não consigo fazer prognósticos. Ainda não instalei nenhuma beta, não mexi no iOS 13.

Estas como eu. Ainda não mexi em nada do iOS13 e iPad OS. Apenas vi os outros a mexer.

PS: Creio que já deu intender aos devs que o rato vem aí como cidadão. O estar nas acessibilidades é uma forma de medir o número de activações voluntárias e dessa forma começar estudar a relevância. Recordo que em tempos a activação da Siri não vinha por defeito. Tinha-se que se activar primeiro.
 
Última edição:
Deixo aqui isto:
X617H80.png


https://twitter.com/markgurman/status/1173710838970167297

N.B.: the highest Geekbench 5 single-core score for *any* Mac is 1262. (2019 iMac 3.6) So the iPhone 11 now offers the fastest single-core performance of any computer Apple has ever made.

https://twitter.com/elkmovie/status/1174003718188142592

Em single-core, o A13 do Iphone 11 bate qualquer Mac do passado e do presente, no Geekbench 5.
 
Certamente que um processador CISC, apesar de não estar optimizado para, executa o reduzido set de instruções de um ARM, mas não o inverso. Portanto acabamos por observar a natural optimização de um processador RISC a um workload especialmente talhado para este. Se introduzirmos o leque de instruções CISC com vários aceleradores aritméticos double precision(80bit/fp64)/vector/virtualização, esquece.

Cada conjunto de instruções simplesmente evolui de modo a melhor expor workload-specific semantic ao substrato de execução, com especial foco na especialização no caso reduzido. Agora que a grande maioria dos consumidores(e mesmo certo tipo de servidores) não têm utilização prática para um sistema com esta ordem de capacidades e precisão no ISA, acabando por se tornar overkill, sem dúvida.
 
Certamente que um processador CISC, apesar de não estar optimizado para, executa o reduzido set de instruções de um ARM, mas não o inverso. Portanto acabamos por observar a natural optimização de um processador RISC a um workload especialmente talhado para este. Se introduzirmos o leque de instruções CISC com vários aceleradores aritméticos double precision(80bit/fp64)/vector/virtualização, esquece.

Cada conjunto de instruções simplesmente evolui de modo a melhor expor workload-specific semantic ao substrato de execução, com especial foco na especialização no caso reduzido. Agora que a grande maioria dos consumidores(e mesmo certo tipo de servidores) não têm utilização prática para um sistema com esta ordem de capacidades e precisão no ISA, acabando por se tornar overkill, sem dúvida.

Eu sinceramente não percebi bem a tua mensagem. Especialmente a parte "Portanto acabamos por observar a natural optimização de um processador RISC a um workload especialmente talhado para este."
O Geekbench não é talhado para apenas um mercado. Uma boa parte dos testes do Geekbench 5 não são talhados para o mercado móvel, especialmente os de "floating point". Ele tem testes de Machine Learning, Ray Tracing, compilação, etc, que não é o mais visto no mercado móvel.
Além disso, é possível usar processadores ARM num computador genérico tal como x86. Isso pode ser visto, por exemplo, nos SBCs como o Raspberry Pi e afins.

Mais uns pontos:
  • Os x86 não são CISC internamente há bastante tempo. Isso começou no tempo do Pentium Pro.
  • ARM também tem aceleradores aritméticos. NEON e SVE pelo menos. Não faço ideia se a Apple os implementa, especialmente o SVE.
  • O Geekbench, pelo que percebo, usa os mesmos testes nas diferentes plataformas. No caso do IOS e OSX, usa até o mesmo compilador (Xcode 10.3). Detalhes do Geekbench 5.
 
Eu sinceramente não percebi bem a tua mensagem. Especialmente a parte "Portanto acabamos por observar a natural optimização de um processador RISC a um workload especialmente talhado para este."
O Geekbench não é talhado para apenas um mercado. Uma boa parte dos testes do Geekbench 5 não são talhados para o mercado móvel, especialmente os de "floating point". Ele tem testes de Machine Learning, Ray Tracing, compilação, etc, que não é o mais visto no mercado móvel.

Pelo contrário. Representação em virgula flutuante é bastante comuns nos sistemas actuais, mesmo nos móveis especialmente para o raciocínio lógico de criptografia. Igualmente para ML, face/object detection, HDR/Gaussian Blur/Inpainting, etc. Esse workload é especialmente optimizado no ISA ARM(A64), igualmente justificado pela crescente implementação de vector e ML co-processors, bem como image signal processors(ISP) como o Pixel Visual Core e Spectra da Qualcomm. A capacidade desses co-processadores especializados nessas tarefas que descrevi ultrapassa facilmente a grande maioria dos general processing units actuais.

Além disso, é possível usar processadores ARM num computador genérico tal como x86. Isso pode ser visto, por exemplo, nos SBCs como o Raspberry Pi e afins.

Das duas uma, ou corres código nativo ou terás que usar um interpreter/VM que corre por cima da camada abstracta(tem os seus limites), situação pouco adequada performance-wise(temos o exemplo da virtualização Win32 no kernel ARM64 do Windows 10).

Mais uns pontos:
  • Os x86 não são CISC internamente há bastante tempo. Isso começou no tempo do Pentium Pro.
Mesmo que existam rotinas de simplificação aritmética, o ISA x86(e x86-64 como extensão desta) é uma representação de um design CISC.
  • ARM também tem aceleradores aritméticos. NEON e SVE pelo menos. Não faço ideia se a Apple os implementa, especialmente o SVE.
Não disse o contrário, aliás há muitos mais como por exemplo Jazelle, Thumb entre outros, simplesmente num contexto de ISA CISC não há execução directa em RISC, e isto sem ter em conta extensões como por exemplo AVX que aquando compilação requerem assembly especifico, similarmente ao NEON quando é compilado para ARMv8-A/AArch64.
  • O Geekbench, pelo que percebo, usa os mesmos testes nas diferentes plataformas. No caso do IOS e OSX, usa até o mesmo compilador (Xcode 10.3). Detalhes do Geekbench 5.
De outra forma como irias obter paridade de resultados entre as várias plataformas? A PrimeLabs usa o cross-compiler Clang 8.0/LLVM para Windows, Linux e Android, resta acreditar que aquando do assembling/linking, este foi devidamente acelerado para além do baseline.
 
Portanto acabamos por observar a natural optimização de um processador RISC a um workload especialmente talhado para este.

De outra forma como irias obter paridade de resultados entre as várias plataformas? A PrimeLabs usa o cross-compiler Clang 8.0/LLVM para Windows, Linux e Android, resta acreditar que aquando do assembling/linking, este foi devidamente acelerado para além do baseline.

@Audigy, podes explicar qual é o ponto da tua intervenção? Que o GB faz batota?

O que interessa se a execução é directa em CISC e em RISK precisa de um acelerador artimético á parte para o efeito integrado no mesmo SOC? Não é isso natural uma vez que são arquitecturas destintas? No fim do estes valores representam ou output de que cada uma das abordagens. Ao nível de workload tentaram obter uma paridade entre as múltiplas plataformas. Isto é, não preveligiando uma ou outra.

Abraço.
 
Última edição:
Pelo contrário. Representação em virgula flutuante é bastante comuns nos sistemas actuais, mesmo nos móveis especialmente para o raciocínio lógico de criptografia. Igualmente para ML, face/object detection, HDR/Gaussian Blur/Inpainting, etc. Esse workload é especialmente optimizado no ISA ARM(A64), igualmente justificado pela crescente implementação de vector e ML co-processors, bem como image signal processors(ISP) como o Pixel Visual Core e Spectra da Qualcomm. A capacidade desses co-processadores especializados nessas tarefas que descrevi ultrapassa facilmente a grande maioria dos general processing units actuais.

Eu não consigo concordar com a parte "Esse workload é especialmente optimizado no ISA ARM(A64)". Ou pelo menos, a maior parte dos benchmarks que eles usam não estão assim tão "apontados" para o mercado móvel.
Eu vejo ali 3 benchmarks onde um processador do mercado móvel poderá estar mais optimizado. Face Detection, Speech Recognition e Machine Learning. No entanto há ali muita coisa bastante "genérica. Sqlite, PDF Rendering, compilação, text rendering, etc.
Além disso, também não faltam instruções especializadas em x86. Criptografia é um exemplo. Vector tens em SSE e AVX. ML, penso que só em AVX512 nos Intel "Ice Lake", que a bem da verdade, a Apple ainda não usa.

Seria interessante saber o que é executado nos cores genéricos e o que não é, nas diferentes plataformas.

Das duas uma, ou corres código nativo ou terás que usar um interpreter/VM que corre por cima da camada abstracta(tem os seus limites), situação pouco adequada performance-wise(temos o exemplo da virtualização Win32 no kernel ARM64 do Windows 10).

Qual é o problema de correr código nativo em ARM? Até Windows corre nos Snapdragons (e noutras plataformas, com hacks). Linux é banal. BSD é banal.

Mesmo que existam rotinas de simplificação aritmética, o ISA x86(e x86-64 como extensão desta) é uma representação de um design CISC.

Sim é uma representação CISC, mas que não são executados directamente pelos processadores x86.
Tenho quase a certeza que o mesmo acontece em plataformas RISC, como ARM e PPC. As instruções são divididas em micro ops.

Não disse o contrário, aliás há muitos mais como por exemplo Jazelle, Thumb entre outros, simplesmente num contexto de ISA CISC não há execução directa em RISC, e isto sem ter em conta extensões como por exemplo AVX que aquando compilação requerem assembly especifico, similarmente ao NEON quando é compilado para ARMv8-A/AArch64.

Como disse atrás, o mesmo se passa em plataformas RISC. Não há execução directa das instruções.

De outra forma como irias obter paridade de resultados entre as várias plataformas? A PrimeLabs usa o cross-compiler Clang 8.0/LLVM para Windows, Linux e Android, resta acreditar que aquando do assembling/linking, este foi devidamente acelerado para além do baseline.

Não se iria obter paridade, por isso é que afirmei que são os mesmos testes. Há benchmarks que na plataforma móvel, não são iguais às plataformas Desktop e os resultados não podem ser comparados.
Quanto à forma como compilaram os benchmarks, quero acreditar que não favorecem ou desfavorecem uma ou mais plataformas.
Sei que o Geekbench 4 usava AVX256 em x86 em alguns dos testes, por exemplo.

Já agora, o scrore de Geekbench que o @hildeberto colocou, do A13, fica muito perto de um Ryzen.
 
Back
Topo