11.01.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!