;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

IBM diz ter atingido 'supremacia quântica' com novo processador; entenda

Ilustração do Eagle, o processador quântico mais avançado da IBM no momento - Divulgação/IBM
Ilustração do Eagle, o processador quântico mais avançado da IBM no momento Imagem: Divulgação/IBM

Felipe Mendes

Colaboração para Tilt, em São Paulo

16/11/2021 17h11

Depois da China e do Google, a IBM é a mais nova empresa de tecnologia a anunciar que atingiu a chamada "supremacia quântica". Isto significa que seu novo processador quântico é capaz de resolver problemas que o supercomputador mais avançado do momento hoje não conseguiria.

Para se ter uma ideia da potência do novo processador da IBM, as máquinas quânticas de última geração a alcançar essa "supremacia" até hoje lidavam, no máximo, com 60 qubits (ou bits quânticos). Já o novo processador da IBM, chamado de "Eagle", mais que duplica esse número, atingindo 127 qubits.

Esse desempenho coloca o Eagle como o computador quântico mais poderoso já demonstrado. Mas, por enquanto, a IBM ainda não compartilhou os resultados dos estudos feitos com a máquina para que a comunidade científica possa avaliar e confirmar o feito.

"O aumento da contagem de qubit permitirá que os usuários explorem problemas em um novo nível de complexidade ao realizar experimentos e executar aplicativos, como a otimização do aprendizado de máquina ou a modelagem de novas moléculas e materiais para uso em áreas que vão desde a indústria de energia até o processo de descoberta de medicamentos", diz a IBM, em nota.

O que é um computador quântico?

A computação quântica é baseada no conceito de "qubit" ("quantum bit") em vez do clássico "bit", que é a unidade básica do sistema binário em que se baseiam os computadores atuais.

Segundo a física quântica, ao contrário de um bit clássico, que pode valer "zero" ou "um" para um computador, "verdadeiro" ou "falso", um qubit pode assumir o estado zero e um ao mesmo tempo. Por isso, ele é capaz de realizar cálculos muito mais rapidamente e, consequentemente, processar um volume de dados grande demais para um PC normal.

"Com o Eagle, estamos demonstrando que podemos dimensionar, que podemos começar a gerar qubits suficientes para entrar em um caminho para ter capacidade de computação suficiente para resolver os problemas mais interessantes. É um trampolim para máquinas maiores", afirmou Bob Sutor, chefe do departamento de pesquisa em computação quântica na IBM, durante o anúncio da novidade.

Em entrevista ao Axios, Arvind Krishna, presidente executivo da IBM, afirmou ser impossível simular a capacidade do Eagle, "o que significa que ele é mais poderoso do que qualquer outra coisa". Segundo ele, "seria necessário um computador normal maior que esse planeta para que isso fosse possível".

Futuro da computação

A computação quântica é o futuro dos computadores como conhecemos hoje. Mas calma, mesmo com o Eagle ainda estamos longe disso. Isso porque os computadores quânticos modernos ainda estão apenas sendo testados e resolvem problemas que não tem nenhum impacto para a sociedade.

É possível que leve até mais de uma década para que os computadores quânticos se tornem realidade, mas tanto China quanto os próprios EUA estão investindo alto no seu desenvolvimento, bem como na proteção contra ataques quânticos.

O objetivo atual é apenas verificar até onde podemos chegar com essa tecnologia. Em teoria, os computadores quânticos serão capazes de, no futuro, resolver problemas que precisariam de meses ou até mesmo anos para serem processados com a tecnologia que conhecemos atualmente.

Por isso o feito da IBM é importante, já que o Eagle se torna o primeiro ao ultraar a barreira dos 100 qubit. O grande desafio para se chegar a essa marca foi reduzir a quantidade e o tamanho dos componentes necessários para o controle da temperatura e de toda a energia que uma máquina dessas precisa.

"As novas técnicas alavancadas no Eagle colocam a fiação de controle em vários níveis físicos dentro do processador, enquanto mantêm os qubits em uma única camada, o que permite um aumento significativo nos qubits", disse a empresa, em comunicado.

Para se ter uma ideia da dificuldade que é trabalhar com esses componentes, até o ano ado era necessário um laboratório a -273 graus Celsius (-460 Fahrenheit) para que um computador quântico pudesse atuar.

A IBM disse que espera demonstrar um processador de 400 qubit no ano que vem e quebrar a barreira dos 1.000 qubit até 2023 com um chip chamado Condor.