O ProjectEuler e uma colecao de desafios computacionais e matematicos que requer mais do que apenas matematica para se resolver. Embora a matematica ajudara a resolve-los de uma forma mais elegante e muito mais eficiente. O uso de habilidades refinadas em programacao se faz mais do que necessaria para resolver mais problemas. A qual publico este projeto e direcionado?Para estudantes, dos cursos de tecnologia da informacao e cursos correlatos. Estudantes estes que tem fome de aprendizagem e nao se contentam com o basico aprendido em sala de aula. O ProjectEuler e direcionado tambem para profissionais que querem manter em dias suas habilidades com a matematica e programacao.Qual o grau de dificuldade dos problemas?Os desafios sao divididos por grau de dificuldade, logo os primeiros sao mais faceis que os proximos e assim por diante, a cada problema solucionado o conhecimento e agregado e sera util para resolver problemas futuros.Forcando voce a programar limpo!Uma das vantagens do projeto e forcar o programador a programar de maneira eficiente, pois codigos sujos poderiam fazer com que seu programa levasse horas, ou dias processando ate conseguir uma solucao. Um alerta todos os problemas podem ser resolvidos em apenas minutos de processamento, porem algumas horas de codificacao rs. Diante da dificuldade que tive para configurar o SDK de desenvolvimento da plataforma CUDA no Ubuntu 11.10, decidi compartilhar este tutorial que traz todos os passos que tive que realizar para concluir a instalacao com exito.Segue abaixo um passo a passo simplificado das etapas necessarias:Passo 1: Fazer download do SDK http://www.nvidia.com/object/cuda_get.html Passo 2: Tornar o arquivo executavelchmod +x cudatoolkit_X.X.runExecutar o instaladorsudo ./cudatoolkit_X.X.run Passo 3: Definir variaveis de ambiente ex.:Abrir o arquivo ~/.bashrc (Usei o UBUNTU 11.10) e adicionar as duaslinhas abaixo no final do arquivoexport PATH=/usr/local/cuda/bin:$PATHexport LPATH=/usr/lib/nvidia-current:$LPATHexport LIBRARY_PATH=/usr/lib/nvidia-current:$LIBRARY_PATHexport LD_LIBRARY_PATH=/usr/lib/nvidia-current:/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH Passo 4: Instalar os Samples do SDK do CUDA ex.: Tornar o arquivo executavelchmod +x gpucomputing_sdk_X.X.runExecutar o instaladorsudo ./cudatoolkit_X.X.run Passo 5 (Opcional): Instalar bibliotecas de suporte a os samples OpenGL: sudo apt-get install freeglut3-dev build-essential libx11-devlibxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev Passo 6: Caso a versao do GCC seja 4.5 ou superior vai ser necessario instalaruma versao mais antiga para poder compilar. sudo apt-get install gcc-4.4sudo apt-get install g++-4.4 Configurar o proximo o gcc como default default sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.X 30 Confira se a versao correta esta configurada como default sudo update-alternatives --config gcc Configure o G++ como default update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 40update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.X 30 Confira se a versao correta esta configurada como default update-alternatives --config g++ Passo 7: Adicionando as libs ao mk de compilacao de testes: Na linha 148 do arquivo NVIDIA_GPU_COMPUTING_SDK/C/common/commom.mkaltere para:LINKFLAGS += -L/usr/lib/nvidia-current Passo 8: Instalar bibliotecas de suporte a os samples OpenGL 2: sudo apt-get install libxi-devsudo apt-get install libxmu-dev libxmu6Passo 9: Navegar ate a pasta NVIDIA_COMPUTING_SDK/C e executar o comando "sudomake" se tudo ocorrer bem o cuda esta configurado corretamente. Passo 10: Navegar ate a pasta NVIDIA_COMPUTING_SDK/C/bin/linux/release eexecutar o ./bandwithTest se tudo tiver ok o programa vai rodar sem problemas... "Quem produz a informacao recebe muito mais informacao do que cria." -