PDF(1,9MB) - Está é a máquina do Professor Alfredo Goldman (this ...
PDF(1,9MB) - Está é a máquina do Professor Alfredo Goldman (this ...
PDF(1,9MB) - Está é a máquina do Professor Alfredo Goldman (this ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
• device especifica que a função será executada no device e somente<br />
poderá ser invocada a partir <strong>do</strong> mesmo.<br />
• global especifica um kernel, que será executa<strong>do</strong> no device e somente<br />
poderá ser invoca<strong>do</strong> a partir <strong>do</strong> host. Obrigatoriamente retorna void e<br />
deve ter uma configuração de execução (número de blocos e threads)<br />
quan<strong>do</strong> for chamada, como visto anteriormente.<br />
• host especifica uma função que somente será executada e invocada<br />
a partir <strong>do</strong> host.<br />
Por padrão, quan<strong>do</strong> uma função não tiver um especifica<strong>do</strong>r, será consi-<br />
derada global .<br />
Qualifica<strong>do</strong>res de variáveis determinam em que tipo de memória <strong>do</strong> device<br />
(GPU) a variárel será alocada:<br />
• device especifica uma variável que reside no device, acessível a todas<br />
as threads e possui o mesmo tempo de vida da aplicação. Por não ter<br />
cache, possui alta latência.<br />
• constant especifica uma variável que reside na memória constante<br />
e possui o mesmo tempo de vida da aplicação.<br />
É acessível por todas<br />
as threads (apenas com permissão de leitura) de um grid e pelo host<br />
(permissão de leitura e escrita), atrav<strong>é</strong>s da biblioteca <strong>do</strong> runtime.<br />
• shared especifica uma variável que reside na memória de um bloco,<br />
ten<strong>do</strong> o mesmo tempo de vida e somente acessível pelas threads que o<br />
compõem.<br />
• variáveis sem qualifica<strong>do</strong>res ficam na memória local.<br />
Variáveis built-in especificam a dimensão <strong>do</strong>s grids e <strong>do</strong>s blocos e <strong>do</strong>s<br />
índices <strong>do</strong>s blocos e threads. São váli<strong>do</strong>s apenas dentro de funções executadas<br />
no device.<br />
45