Anda di halaman 1dari 12

Uma Proposta de Aumento de Desempenho na Simulao de rvores Trinomiais para Precificao de Opes

Marcelo Lisboa Rocha Curso de Cincia da Computao UFT 109 Norte, Av. NS 15, ALCNO 14. Bloco II, Sala 21. Palmas-TO-Brasil. Cep: 77001-090 marcelolisboarocha@yahoo.com.br Giordano Bruno Rodrigues Machado Curso de Cincia da Computao Centro Universitrio UNIRG Avenida Antnio Neves da Silva S/N, Pq. das Accias, Gurupi - TO, CEP: 77400-000 giordano@gmail.com Alessandro Rodrigues e Silva Curso de Cincia da Computao Centro Universitrio UNIRG Avenida Antnio Neves da Silva S/N, Pq. das Accias, Gurupi - TO, CEP: 77400-000 mestre.alessandro.s@gmail.com

RESUMO Este trabalho tem por finalidade demonstrar os benefcios da utilizao de Unidades de Processamento Grfico (GPU) para implementar um software na rea financeira para clculos de rvores trinomiais para precificao de opes e comparar o desempenho desta execuo em relao ao desempenho mesmo mtodo rodando em uma Unidade Central de Processamento (CPU). Este trabalho tambm apresenta uma anlise de eficincia quanto ao ganho de desempenho com a utilizao de GPUs em substituio s CPUs.
PALAVARAS CHAVE. rvores Trinomiais, Precificao de Opes, GPU.

ABSTRACT This work has as goal show the benefits of using Graphic Processor Unit (GPU) to implement a software in financial area to calculate trinomial trees for options pricing and compare the performance of this execution related to the performance of the same method running on a Central Processing Unit (CPU). This work also presents an analysis of efficiency about performance gain with the use of GPUs against CPUs.
KEYWORDS. Trinomial Trees, Options Pricing, GPU.

Main Area: High Performance Computing.

1. Introduo Existe uma crescente necessidade de desenvolver solues para o tratamento, a recuperao e a disseminao de informao relevante a partir de volumes exponencialmente crescentes de dados. Para tratar esses grandes volumes de dados e informao distribuda tambm essencial a explorao eficiente de todos os nveis de paralelismo, do nvel do chip, hoje com processadores multicore, passando pelo nvel de arquitetura dos ns integrados atravs de redes de alto desempenho em um cluster, at a formao de grades (grids) pela comunicao de clusters heterogneos atravs de uma rede clssica, tipo internet (SBC, 2006). A computao de alto desempenho extremamente til na rea de finanas auxiliando na resoluo de problemas que so definidos em modelos financeiros sob a forma de seqncias de cenrios e a probabilidade de realizao dos mesmos. A evoluo dos preos das aes e as taxas de juros so freqentemente definidas dessa forma. A partir de estado inicial conhecido e abrangendo um horizonte temporal de mltiplos futuros perodos, esses modelos assumem a forma de um cenrio de rvores. Como um exemplo, avaliao dinmica da probabilidade de trs ativos financeiros no perodo de 10 anos, cada um destes sendo descrito em graus e as probabilidades de subir ou descer seus respectivos preos dentro de um ano, resulta em cenrio em forma de rvore com mais de um bilho (2310) de ns terminais. O tempo de computao necessria para a resoluo desses problemas pode se estender pelo perodo de horas ou at dias, da a utilizao de computao paralela para acelerar o retorno de uma soluo em tempo til faz-se necessria (MORITSCH, 2006). Vrias ferramentas foram desenvolvidas com o intuito de auxiliar nos processos de paralelizao dos clculos exigidos por sistema dessa natureza. Aqui ser apresentada a biblioteca CUDATM (Compute Unified Device Architecture) que se prope a disponibilizar o poder de processamento das GPUs (Graphics Processing Units) para processamento genrico na soluo de muitos problemas computacionais complexos em fraes de tempo da execuo em uma CPU (Central Processing Unit). A arquitetura CUDATM da NVidia suporta a linguagem C, uma das linguagens de alto nvel mais amplamente utilizadas, para desenvolvimento de aplicaes de alta performance. Esta arquitetura apresenta excelente resultado quanto ao desempenho na execuo de problemas mais complexos de computao (ZONE, 2009). Sero expostos, a seguir, os conceitos relacionados ao contexto onde o trabalho foi inserido. O contrato futuro um acordo estabelecido para comprar ou vender um ativo em determinada data no futuro a preo previamente estabelecido. Existem diversas bolsas negociando esses contratos no mundo (HULL, 2005). Mtodos que realizam simulaes para aplicao aos mercados financeiros so alternativas extremamente intensivas do ponto de vista computacional, pois exige que seja feito um conjunto de simulaes para cada dia da amostra de preos do ativo objeto (SOUZA, 1999). Dentre esses algoritmos, existe um mtodo numrico de avaliao conhecido com rvores Trinomiais. A rvore trinomial uma tcnica que tem como base a projeo dos diferentes valores que o preo de um ativo pode atingir durante sua vida. O volume de clculos utilizados no processamento das rvores trinomiais grande e para torna eficiente sua aplicao, os mtodos mais eficientes de computao disponveis tornam-se necessrios. Neste trabalho foram utilizadas unidades de processamento grfico (GPUs) para a execuo de aplicaes genricas, onde foi desenvolvida uma aplicao para resoluo de rvores trinomiais,

uma tcnica aplicada na rea de finanas. Desta forma, foi implementado um prottipo para demonstrao das vantagens do uso de GPUs em relao ao uso de CPUs tanto em tempo de processamento quanto em custo. Tambm foi realizado um estudo comparativo entre a forma de programao em CUDATM e OpenMP, que tambm faz uso de paralelismo. De modo a demonstrar a viabilidade da utilizao de GPU para resolver problemas que demandam alto poder computacional, foi implementado um software para o clculo de preos de opes utilizando rvores trinomiais e a API CUDATM. O desenvolvimento da aplicao se deu com a inteno de se alcanar maior desempenho em relao s alternativas disponveis no mercado. O restante deste trabalho est organizado como se segue. A prxima seo apresenta questes bsicas de opes como tambm a sua precificao via rvores trinomiais. Na seqncia, apresenta conceitos bsicos a respeito de GPUs, inclusive da que foi utilizada neste trabalho, como tambm sobre a API CUDA que permite explorar o poder computacional das GPUs. Na seo 3 descrita a implementao computacional do modelo de rvore trinomial, tanto seqencial quando paralela (utilizando a GPU). J na seo 4 so apresentados os testes e anlises dos resultados computacionais obtidos das verses seqncias e paralelas do mtodo proposto. As concluses e trabalhos futuros so apresentados na seo 5. 2. Referencial Terico Aqui sero apresentados conceitos bsicos de opes e como as mesmas podem ser precificadas utilizando o mtodo da rvore trinomial. Posteriormente sero mostradas informaes a respeito da arquitetura e funcionamento de GPUs e como a API CUDA disponibiliza este recurso para o desenvolvedor obter ganho de desempenho na aplicao. 2.1. Opes no Mercado Financeiro Os mercados futuros remontam Idade Mdia. Foram originalmente desenvolvidos para satisfazer as necessidades de produtores e comerciantes de produtos agrcolas. Profissionais da rea de finanas tm dedicado enorme esforo para compreender o processo de formao dos preos de ttulos negociados em mercados de capitais. Para isso, foram elaborados modelos de avaliao que apresentam bom grau de confiabilidade (LEMGRUBER, 1995). Contratos sobre opes so fundamentalmente diferentes de outros tipos de contratos futuros negociados em bolsas de valores. Uma opo d a seu detentor o direito de fazer algo e no a obrigao que existente nos outros tipos. Em uma compra de uma opo, um pagamento inicial obrigatrio (HULL, 2005). Existem dois tipos bsicos de opes, as opes de compra (calls) e as opes de venda (puts). Uma opo de compra d ao seu (titular da opo) o direito de comprar um ativo por certo preo em determinada data. Na opo de venda, o titular obtm o direito de vender o ativo por determinado preo em data futura. O preo combinado entre as partes em um contrato conhecido como preo de exerccio (stike price) e a data acordada para a realizao deste chamada de data de vencimento, de exerccio ou de maturidade (HULL, 2005). As opes negociadas nos mercados europeus podem ser exercidas somente na data de maturidade definida no contrato. As opes do tipo americanas permitem o exerccio de forma antecipada limitando-se data de vencimento. Uma opo garante ao titular um direito, mas no a obrigao de exerc-la (HULL, 2005).

de extrema importncia citar que existem seis fatores que influenciam os preos das opes, sendo eles (HULL, 2005): preo a vista da ao (S0), preo de exerccio (X), prazo at a data de vencimento (T), volatilidade do preo da ao (), taxa de juro livre de risco (r), e dividendos e bonificaes esperados durante a vida da opo (em alguns casos). Estes fatores servem de base para os mais variados modelos para precificao de opes, onde o mais famosos o Black and Scholes (LEMGRUBER, 1995). Maiores detalhes a respeito do modelo de Black and Scholes pode ser vistos no livro de HULL (HULL, 2005). 2.2. rvores Trinomiais A rvore trinomial uma tcnica muito til para aprear as opes sobre aes. Essa tcnica trata-se de um diagrama que representa os diferentes caminhos que podem ser seguidos pelo preo de uma ao durante a vida de uma opo (GROSSO, 2006). O modelo trinomial um modelo onde o preo das opes sobre as aes monitorado por sucessivos pequenos perodos de tempo, desde a data onde realizada o contrato at o seu vencimento. A cada passo, o preo pode assumir trs novos valores realizando movimento de subida up, manuteno do valor ou movimento de descida down com as respectivas probabilidades de ocorrncia Pu, Pm e Pd. Todas as possibilidades que os preos das aes podem atingir eventualmente formam uma estrutura de uma rvore trinomial. Cada n da rvore trinomial tem trs ns filhos cujos valores so u.S, S e d.S, sendo S0 o valor na raiz que corresponde ao valor da ao no tempo 0. J u e s representam respectivamente a volatilidade do valor na subida (up) e na descida (down) no tempo. A Ilustrao 1 apresenta a estrutura de uma rvore trinomial.

Ilustrao 1 - rvore trinomial de quatro passos. O modelo de precificao trinomial baseado no modelo Black & Scholes que um modelo de variao de preos contnuo no tempo (LEMGRUBER, 1995). O modelo de Black Scholes permite calcular Pu, Pm, Pd, u e d, conforme especificadas nas equaes de 1 a 5.

u e

3T

d e

3T

Equao 1.

Equao 2.

onde T representa a diferena de tempo entre dois passos consecutivos na rvore. Note que u.d = 1, e aps N passos as folhas da rvore trinomial possuir (2N + 1) ns. Desta forma, possvel calcular as probabilidades utilizando o modelo de Black and Scholes:

Pu

T ( 2 ( .T 3.T )) 6. 2 .T
onde r

Pd

T ( 2 ( .T 3.T )) 6. 2 .T
onde r

2
2

2
2

Equao 3.

Equao 4.

Pm 1 Pu Pd
Equao 5. Tendo realizada a representao trinomial, ser visto a seguir como possvel calcular o valor justo para as opes no tempo 0. necessrio calcular o valor em cada n da rvore e o prmio pela opo ser o valor encontrado na raiz da rvore. Para o clculo do valor no n Vn utiliza-se a frmula especificada na equao 6. Os preos encontrados nos ns Vd, n+1, Vm, n+1 e Vu, n+1 so os preos dos trs ns filhos do novo valor. Pelo modelo de Black and Scholes todos os valores da folhas podem ser gerados atravs da frmula apresentada na equao 7.

Vn ( Pd .Vd , n1 Pm .Vm , n1 Pu .Vu , n1 ).e r .T


Equao 6.

S n S0 .ei.

3.T

, onde i varia de n at n

Equao 7.

Na computao existem muitas formas de lidar com os algoritmos para resoluo dos problemas da formao de preos de ttulos. Entretanto, esses algoritmos requerem um grande poder computacional. O uso de computao paralela se faz necessria onde o volume de clculos grande e fazem-se necessrias respostas com rapidez. 2.3. Arquitetura da GPU Uma GPU (Unidade de Processamento Grfico) composta por vrios multiprocessadores (variando atualmente numa faixa de 4 a 30). Um multiprocessador composto por 8 ncleos de processadores escalares com a funo de criar, gerenciar e executar operaes de threads concorrentes. Para gerenciar as centenas de threads na execuo de vrios programas, o multiprocessador emprega uma nova arquitetura conhecida por SIMT (Single Instruction Multiple Thread) baseada na arquitetura SIMD (Single Instruction Multiple Data). O multiprocessador mapeia cada thread para um ncleo do processador escalar, e cada thread executa independentemente suas instrues. O multiprocessador SIMT cria, gerencia, agenda e executa threads em grupos de 32 threads paralelas chamadas warps. 2.4 CUDA Com CUDATM, a GPU pode ser definida como um processador SIMD com grande poder de paralelismo, sendo limitado apenas pela quantidade de memria disponvel no hardware grfico (HARISH, 2007). A instalao do kit para desenvolvimento fornece vrias ferramentas para o uso da linguagem C. Uma questo importante a considerar a respeito de CUDATM que a mesma foi projetada para trabalhar sobre uma arquitetura escalvel para os multiprocessadores disponveis na

GPU, possibilitando assim o aumento no ganho de desempenho da aplicao desenvolvida. 3. Resoluo de rvores Trinomiais na GPU Nesta seo ser analisada a tcnica que foi utilizada para o desenvolvimento do programa para o clculo de precificao de opes em GPU, culminando na realizao da paralelizao da resoluo dos clculos intrnsecos s rvores trinomiais. Para atingir esse objetivo foi necessrio desenvolver um esquema mais robusto de controle de threads para uma eficiente manipulao dos dados nas diferentes reas de memria existentes em uma GPU. 3.1 Resoluo na CPU Os clculos em rvores trinomiais utilizando CPUs podem ser facilmente realizados atravs de algoritmos que operam de forma serializada. Inicialmente so gerados os valores das folhas da rvore utilizando o mtodo de Black and Scholes visto na Equao 7, conforme mostrado na Ilustrao 2. Em seguida, realizando sucessivas redues no vetor, executa-se o movimento de subida da rvore voltando nos perodos de tempo, utilizando as expresses expostas na Equao 3, Equao 4, Equao 5 e Equao 6, at que o valor na raiz da mesma seja encontrado. O algoritmo demonstrado na Ilustrao 3.

Ilustrao 2 - Clculo dos valores no vencimento para uma call na CPU. Para demonstrar as vantagens quanto ao ganho de desempenho na resoluo dos clculos intrnsecos s rvores trinomiais foram necessrias comparaes dos tempos de execuo do algoritmo nas CPU e GPU. As medies foram realizadas atravs da insero de funes para monitoramento do tempo de execuo dos algoritmos no cdigo do programa e os resultados apresentados em grficos e tabelas.

Ilustrao 3 - Reduo da rvore trinomial na CPU. 3.2 Paralelizao do Algoritmo na GPU Com o intuito de realizar um maior aproveitamento dos recursos computacionais existentes na GPU, foi realizada uma diviso das tarefas a serem executadas em paralelo. Num primeiro momento so gerados todos os dados necessrios para a computao da rvore na CPU e realizada a transferncia destes do host para o device. Na GPU feita a paralelizao dos clculos de todos os possveis valores das opes no vencimento, onde cada multiprocessador se encarrega deste trabalho em uma opo. Os vetores onde so armazenados os valores dos preos no vencimento so declarados de forma que seus tamanhos sejam sempre mltiplos de 16. Esse artifcio utilizado para manter a coerncia dos dados na memria provendo ganho de desempenho nas operaes de escrita e leitura. O esquema demonstrado na Ilustrao 4:

Ilustrao 4 - Clculo dos valores no vencimento na GPU. Nas Ilustrao 5 e Ilustrao 6 tem-se os algoritmos que descrevem os algoritmos utilizados na execuo dos clculos dos valores no vencimento das opes e da resoluo das rvores trinomiais respectivamente na GPU. A fim de paralelizar a execuo do algoritmo sobre toda a estrutura da rvore de preos foi necessria a realizao de uma decomposio geomtrica da mesma. Essa decomposio se fez necessria devido ao fato de o algoritmo desenvolvido realizar a transferncia dos dados para rea de memria shared que, possui limitao no armazenamento. A memria shared da GPU possui capacidade mxima de armazenamento de aproximadamente 4000 valores de ponto flutuante, tamanho esse que facilmente excedido em execues de rvores trinomiais de muitos passos. Como exemplo, uma rvore cuja avaliao abranja um nmero de 2000 passos ter um vetor contendo os dados no vencimento com 4001 valores de ponto flutuante. Essa transferncia de dados ocorre com o intuito de aumentar os ganhos de desempenho na execuo do programa.

Ilustrao 5 - Algoritmo para clculo do vencimento na GPU.

Ilustrao 6 - Algoritmo para resoluo de rvores trinomiais na GPU. A estrutura dos dados da rvore trinomial possui um padro originalmente recursivo e a decomposio geomtrica copia pedaos da mesma para a memria shared. Os dados copiados esto armazenados de forma contnua na memria global da GPU. Na execuo do algoritmo foram testados vrios tamanhos para os pedaos com a inteno de se verificar qual a melhor configurao que permitisse um aumento de desempenho, no sendo observadas diferenas significativas. O acesso memria shared prov ganho de tempo com fator de 100x a 150x superior ao tempo de acesso da memria global (FARBER, 2008). Carregados os valores das folhas realizado um loop computando os dados da rvore at o instante da data zero. Como os dados so divididos em pedaos, ocorre que o loop provoca uma reduo de dois ns da rvore em cada passo que realizado, ou seja, para N passos realizados em direo raiz, observamos a reduo de 2 x N ns da rvore. Depois de realizado o armazenamento

dos dados em cache, so computados os valores de um determinado nmero de passos e em seguida o pedao seguinte da rvore carregado Para decomposio da estrutura da rvore a definio de alguns parmetros foi utilizada. Os pedaos da rvore armazenados na memria shared para ganho de desempenho foram denominados tamanho do cache. Esse parmetro tambm definiu o nmero de threads por bloco. Ao final do lao onde realizada a subida dos nveis da rvore ocorre a reduo da quantidade de ns para o nvel em questo. O tamanho dessa reduo de ns foi chamada de delta_cache. A diferena entre o tamanho do cache e o delta_cache exatamente o tamanho do pulo realizado pelo algoritmo para o carregamento de outro pedao da rvore para a memria shared. Foram tambm necessrias as definies dos parmetros que marcaram o a base do pedao da rvore em execuo, a posio de incio do delta_cache e a posio final do delta_cache. Tal procedimento visualizado na Ilustrao 7.

Ilustrao 7 - Reduo da rvore na GPU. 4. Testes e Anlises O hardware utilizado para os testes computacionais foi composto por um processador Intel CoreTM 2 Duo E8400 3 GHz com 3Gb de memria RAM, placa aceleradora grfica modelo GeForce 8800 GTS 512 de fabricao da NVidia. A placa de vdeo foi utilizada devido ao fato de a API CUDATM dar suporte apenas s placas da gerao 8 ou superiores. A placa me modelo P5K Premium da Asus foi utilizada nos testes. Essa placa foi escolhida por possuir 2 slots PCI Express com velocidade 16x. Esses slots foram necessrios devido necessidade da instalao de uma segunda placa de vdeo para utilizao com o monitor liberando os recursos da GeForce 8800 GTS para a execuo dos testes. A plataforma utilizada para o desenvolvimento do programa de precificao de opes foi composta pelo compilador Visual C++ 2005 Express Edition SP1 escolhido por ser de distribuio gratuita e oferecer suporte a multi linguagens. A instalao foi realizada sobre o sistema operacional Windows XP 32bit Professional. Foram instalados tambm o CUDATM Toolkit e o CUDATM SDK ambos verso 2.0 para Windows 32 bit. Nos testes foram utilizadas 512 rvores com 1024, 2048, 4096, 8192 e 16384 passos cada, para comparao de desempenho em diversas situaes. Os dados dos 512 ativos necessrios para avaliao dos valores justos das opes na data 0 foram gerados de forma aleatria. No Grfico 1 so apresentados os tempos (em segundos de CPU/GPU) que foram medidos durante a execuo dos clculos em rvores trinomiais na CPU e a comparao do desempenho do algoritmo paralelizado na GPU.

Grfico 1 - Comparao do desempenho GPU x CPU. Foram realizadas comparaes de desempenho com outra ferramenta que fornece suporte paralelizao de aplicaes,a biblioteca OpenMP,disponvel para a linguagem C, Foi utilizado o OpenMP em conjunto com o compilador GCC, por este incorporar os mecanismos de paralelizao desta biblioteca. Durante o processo de compilao com o GCC foi necessrio a incluso do parmetro -O para otimizao do cdigo durante o processo. A ausncia desse parmetro torna a aplicao menos eficiente sendo sensvel a perda de desempenho durante os testes. Nos testes foram utilizados 2 processadores da Intel modelos Core 2 Duo E8400 e Core 2 Quad Q9650 na paralelizao da resoluo de rvores trinomiais com a biblioteca OpenMP. A escolha deste processador justifica-se devido a similiaridade de preo com o conjunto Intel Core 2 Duo E8400 juntamente com a placa de vdeo NVidia Geforce 8800 GTS, permitindo uma comparao justa, j que os custos de aquisio so compatveis. Os resultados foram comparados aos obtidos com a aplicao CUDATM rodando na GPU e podem ser observados no Grfico 2.

Grfico 2 - Comparao de desempenho CUDATM x OpenMP. Na Tabela 1 temos os valores obtidos com os testes e tambm o fator de ganho para as execues dos sistemas citados. Durante os testes da execuo do programa CUDATM na GPU realizou-se a medio do percentual de uso da CPU. Observou-se que aproximadamente 50% do processador E8400 estava sendo utilizado durante toda a execuo do programa na GPU, ou seja, um dos ncleos era utilizado em 100% nesse processo. Ocorre que o processador permanece todo o tempo da execuo na GPU realizando verificaes quanto a concluso da execuo do kernel. Tabela 1 - Tempos das execues com CUDATM x OpenMP.

Analisando os resultados obtidos nos testes foi possvel constatar que a execuo do programa na GPU mostrou desempenho muito superior se comparado ao algoritmo executando na CPU. Podem-se observar ganhos de tempo superiores a 40 vezes, at mesmo se comparado ao desempenho com aplicaes que utilizam outros mtodos de paralelismo como o OpenMP. 5. Concluses e Trabalhos Futuros Para o desenvolvimento deste trabalho foram estudados os mtodos de precificao de opes, rvores trinomiais e a API CUDATM, onde foram demonstradas as vantagens da utilizao de unidades de processamento grfico (GPUs) no processamento de aplicaes genricas. Foram executados testes e comparaes de desempenho em todas as etapas dos processos de desenvolvimento e validao dos resultados obtidos com a aplicao. A programao de aplicaes genricas em GPU permite a utilizao de vrias tcnicas que

auxiliam enormemente nos processos de otimizao de algoritmos. A utilizao de processadores grficos em aplicaes altamente paralelizveis como meio de maximizao de recursos existentes ou at mesmo substituio de outras opes mostrou ser eficiente. Desta forma, conclui-se que a utilizao de unidades de processamento grfico (GPU) uma alternativa vivel para se trabalhar com computao de alto desempenho nas diversas reas de pesquisa cientfica. Para trabalhos futuros, possvel citar o desenvolvimento de uma verso para GPU mais avanada do modelo de precificao de opes com utilizao de rvores trinomiais que permitir calcular e analisar riscos de investimento em tempo real sobre uma carteira de aes que considere exerccio em qualquer perodo e o pagamento de dividendos. Outra possibilidade seria a implementao do modelo de precificao utilizado nesse trabalho com o emprego de mltiplas GPUs. Outro extenso a ser desenvolvida seria a implementao de uma verso da tcnica proposta que faa uso do poder computacional da CPU e da GPU em conjunto. Com o objetivo de se conseguir uma maior visualizao das operaes fundamentais ligadas aos mecanismos de acelerao do desempenho na execuo dos sistemas na GPU, a implementao dever ser avaliada com ferramentas que realizam um profiling da aplicao. O profiling permite a visualizao da largura de banda de memria em um kernel. Com a utilizao de uma ferramenta chamada CUDA Visual Profiler, possvel realizar o profiling de aplicaes C rodando em GPUs. Referncias (FARBER, 2008) FARBER, Rob CUDA, Supercomputing for the Masses: Part 5. Disponvel em: http://www.ddj.com/hpc-high-performance-computing/208801731>. Acessado em 30 de maio 2009. (GROSSO, 2006) GROSSO, Luciano Monter de Pinho. Apreamento de Opes sobre Futuro de Depsitos Inter-financeiros de um Dia. 2006. 84 f. Dissertao (Mestrado) PUC-Rio, 2006. (HARISH, 2007) HARISH, Pawab; NARAYANAN, P. J. Accelerating Large Graph Algorithms on the GPU Using CUDA. Center for Visual Information Technology International Institute of Information Technology Hyderabad, India, 2007. (HULL, 2005) HULL, John C. Fundamentos dos Mercados Futuros e de Opes. 4 ed., BM&F, Bolsa de Mercados e Futuros, 2005. (LEMGRUBER, 1995) LEMGRUBER, Eduardo Fac Avaliao de Contratos de Opes. BM&F Bolsa de Mercados e Futuros, 1995. (MORITSCH, 2006) MORITSCH, Hans. High Performance Computing in Finance - On the Parallel Implementation of Pricing and Optimization Models. 2006. 132 f. Dissertao (Doutorado) Institut fur Softwaretechnik und Interaktive Systeme, 2006. (SOUZA, 1999) SOUZA, Luiz Alvares Rezende de. Valor em Risco em pocas de Crise. 1999. 122 f. Dissertao (Mestrado) Universidade de So Paulo, FEA/USP, 1999. (SBC, 2006) SBC. Grandes Desafios da Pesquisa em Computao no Brasil: 2006 - 2016. Desenvolvido pela Sociedade Brasileira de Computao. 2006. Disponvel em <http:// 143.54.83.4/ ArquivosComunicacao/ Desafios_portugues.pdf> Acessado em: 30 de ago. 2008. (ZONE, 2009) ZONE, CUDA. O que CUDA. Disponvel em: <http://www.nvidia.com.br/object/cuda_what_is_br.html>. Acessado em: 12 de maio de 2009.

Anda mungkin juga menyukai