Usuário CHDuckie na NVIDIA subreddit notaram um arquivo grande localizado na pasta NVIDIA CUDA em seu disco rígido. O arquivo foi nomeado “warandpeace.txt.” O arquivo era muito maior que os outros códigos da pasta, pesando 3.212 KB em comparação com os arquivos com menos de 10 KB.
O romance Guerra e Paz de Tolstoi encontrado enterrado em pastas de arquivos NVIDIA CUDA, An Easter Egg?
CHDuckie estava olhando ao redor de seu disco rígido quando localizou o arquivo .txt. Por curiosidade, o usuário usou o VS Code para abrir o arquivo devido ao tamanho grande do arquivo ser muito grosso para o aplicativo padrão do Bloco de Notas. De repente, 65.340 aparecem, com a primeira linha lendo “The Project Gutenberg EBook of War and Peace, por Leo Tolstoy”.
Quase parece apropriado colocar esta citação específica da obra do autor:
“Os antigos nos deixaram exemplos de poemas heróicos em que os heróis constituem todo o interesse da história, e ainda não podemos nos acostumar com o fato de que, para o nosso tempo humano, uma história desse tipo não tem sentido.”
Mas por que o arquivo estava lá? Parece uma escolha estranha para um Easter Egg, mas o raciocínio para a colocação da obra-prima de Tolstoy tem uso prático na pasta NVIDIA CUDA.
Os leitores vão lembrar que a NVIDIA CUDA também funciona como plataforma de computação e modelo de programação para uso em computação geral em GPUs. O CUDA permite que os usuários aumentem a velocidade dos aplicativos usando o poder da GPU.
Nos comentários da postagem, o usuário do Reddit jlouis8 explica a probabilidade de o arquivo estar lá.
É usado no código aqui: https://github.com/NVIDIA/cuda-samples/blob/master/Samples/0_Introduction/c%2B%2B11_cuda/c%2B%2B11_cuda.cu#L97
O exemplo cria um pequeno kernel CUDA que conta as letras w,x,yez em alguns dados. Em seguida, ele carrega guerra e paz na memória da GPU e executa esse kernel nos dados.
A razão pela qual este texto foi escolhido é provavelmente porque ele é livre para incluir sem infringir os direitos autorais, e é grande o suficiente para que você possa medir a diferença dependendo do método usado, mas pequeno o suficiente para concluir rapidamente.
É bastante comum incluir dados de amostra com seu código de exemplo para que a execução seja independente. Ou forneça uma maneira de carregar esses dados de um URI estável fora da Internet. Alguns sistemas, R por exemplo, incluem dados de amostra na biblioteca padrão, para que você possa demonstrar métodos facilmente.
E você pensou que não ia ter uma aula de literatura e programação hoje.
Fontes de notícias: CHDuckie no Reddit , GitHub via usuário do Reddit jlouis8