Perguntas frequentes sobre software Livre
Introdução
O Folding@home foi criado através de várias ferramentas de código aberto, nomeadamente o Gromacs (http://www.gromacs.org), o TINKER (http://dasher.wustl.edu) e o AMBER (http://amber.scripps.edu) para pacotes MD e MPICH para MPI (http://www-unix.mcs.anl.gov/mpi/mpich/). Se estiver interessado em verificar o código-fonte destes programas, pode descarregá-los gratuitamente e testá-los. Qualquer um pode compilar a versão SMP do Gromacs, usando o ultimo Gromacs em conjunto com o MPICH, reproduzindo assim os clientes SMP.
E acerca do Cliente?
Não disponibilizamos o código fonte do cliente por varias razoes relacionadas sobretudo com a fiabilidade, entre outros.
Contudo fizemos um compromisso – temos desenvolvido uma entrada na arquitectura do programa que permita às pessoas escrever software de código aberto que possa ser adicionado ao cliente final. A nossa primeira entrada disponível é no Cliente gráfico (GUI) (ver cliente gráfico, Kit OpenGl em baixo).
Cliente gráfico kit OpenGl
O nosso Kit OpenGL está neste momento disponível para descarga. A razão principal para disponibilizar isto é permitir que sejam criados novos modos gráficos para o cliente. Se é um programador OpenGL, descarregue o ficheiro zip e leia o README.txt para mais informações. Pode também visitar o fórum Graphics Playground para discussão, colocar questões, e mostrar o seu trabalho.
http://www.stanford.edu/~beberg/FAH-OpenGL-Kit-1.zip
Mas o Gromacs não é um código GPL? Onde se encontra o código fonte do vosso programa?
Foi atribuído ao Folding@home uma licença não comercial e não-GPL para o Gromacs, desta forma não somos obrigados a divulgar o nosso código-fonte. Temos licenças análogas para os outros núcleos. Os detentores da copia de qualquer código GPL (neste caso os programadores pertencentes à equipa de desenvolvimento do Gromacs) podem distribuir o mesmo software com diferentes licenças em paralelo.
Estamos neste momento a trabalhar de modo a divulgar o código fonte do cliente GPU e outros aspectos do FAH numa biblioteca denominada openMM. Pode saber mais aqui: https://simtk.org/home/openmm
Informação Técnica: Compilar o Gromacs
Ficam aqui algumas instruções. Note que se não está familiarizado com MPI ou Gromacs ou a dinâmica molecular, não seremos capazes de fornecer apoio ou informação sobre como isso funciona – especialmente porque se o fizéssemos, teríamos que te dar um diploma em química computacional no final de todas as explicações! Todos estes aspectos são medianamente complexos, pelo que este projecto não será aconselhado aos fracos de coração, de qualquer das formas aqui vai:
- Vá a http://www.gromacs.org, clique no separador "Download", e depois na opção "source code". - Seleccione a versão mais recente para download, sendo que o ideal será obter directamente do CVS (http://wiki.gromacs.org/index.php/CVS_HowTo) – esta é a versão que usamos. - Recomendamos vivamente que veja código relacionado com o Gromacs antes de seguir qualquer destes passos, e só após ter a certeza que compreende perfeitamente o mesmo é que deve tentar criá-lo. Se lhe parecer algo complexo ou confuso, o melhor seria não continuar porque não valeré o esforço. Programar Gromacs é bastante complexo mas nada comparado com a parte referente a desenvolver o próprio código. Como um teste para ver como o código funciona, veja se consegue modifica-lo de forma a adicionar um novo comando ao ficheiro MDP. - Siga as indicações no ficheiro INSTALL. Muito resumidamente basta fazer:
./configure make make install
- Pode experimentar executar o Gromacs sem o FFTW para ter uma ideia do que irá fazer, mas o FFTW é bastante útil para algumas partes do código. - Para poder criar isto como um cliente SMP faria, vai necessitar de uma versão do MPI, nos usamos a versão MPICH2 (http://www-unix.mcs.anl.gov/mpi/mpich2/). Vai ainda necessitar de o compilar ou usar as bibliotecas existentes. Por exemplo, se quiser compilar apenas o executável mdrun, com suporte MPI em paralelo faça:
make clean ./configure --enable-mpi make mdrun make install-mdrun
- Deve ter agora um executável de instalação a funcionar. O código binário para usar é mdrun. - Se está a usar MPI, então use “mpiexec mdrun”. Pode testar este código com cálculos de referência com: ftp://ftp.gromacs.org/pub/benchmarks/gmxbench-3.0.tar.gz - Este exemplo de cálculos irá dar-lhe algo a funcionar. Tenha em atenção que não será capaz de usar os ficheiros FAH directamente pois temos aspectos modificados do ficheiro de formato do Gromacs de forma a encaixar nas nossas necessidades específicas. Contudo o exemplo do villin, nos testes é bastante parecido com tudo o que costumamos usar. - Veja o teste do Gromacs por si mesmo em http://wiki.gromacs.org/index.php/Test-set
Existem BASTANTES aspectos em falta nas alíneas gerais acima, pelo que e recomendado que leia o README e o INSTALL que se encontram no directório onde guardou Gromacs, assim como a documentação do MPICH – a descrição acima é mais para ter uma ideia geral do que é neste momento a programação usando o Gromacs.
Para mais informações por favor consulta:
Perguntas Frequentes sobre o Folding@home Forum da comunidade Folding@home