Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FGV 2024

ProgramaçãoLinguagens de programação
Código
fg085322
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Júnior I - Ambiente de Supercomputação e HPC (High-Performance Computing)
Leia o trecho a seguir.É uma linguagem de programação paralela de plataforma cruzada usada para programar diferentes tipos de processadores em computadores pessoais, servidores, dispositivos móveis e plataformas embarcadas. Ela define uma linguagem de programação e uma interface de programação de aplicativos para controlar a plataforma e executar programas em dispositivos de computação, como CPUs e GPUs.Assinale a opção que indica a tecnologia descrita no trecho acima.
  1. AOpenCL.
  2. BMPI.
  3. CFortran.
  4. DOpenMP.
  5. EAssembly.
Revelar gabarito e comentário

GabaritoA — OpenCL.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

OpenCL — Linguagem de programação paralela multiplataforma

Gabarito: letra A. O trecho descreve exatamente o OpenCL (Open Computing Language), um padrão aberto para programação paralela em dispositivos heterogêneos (CPUs, GPUs, DSPs, FPGAs). As demais alternativas não se encaixam: MPI é voltado para troca de mensagens em clusters, Fortran é uma linguagem geral (não especificamente paralela/multiplataforma para GPUs), OpenMP foca em paralelismo em memória compartilhada (geralmente só CPUs) e Assembly é linguagem de baixo nível dependente de arquitetura.

Alternativa A — ✅ Correta ⟵ GABARITO

OpenCL (Open Computing Language) é um framework aberto que permite escrever programas executáveis em CPUs, GPUs e outros processadores, em diferentes dispositivos, mantendo portabilidade. Ele fornece uma API e uma linguagem de programação (baseada em C99) para computação paralela heterogênea. A descrição do enunciado casa perfeitamente com o OpenCL: "linguagem de programação paralela de plataforma cruzada usada para programar diferentes tipos de processadores".

Alternativa B — ❌ Incorreta

MPI (Message Passing Interface) é um padrão para comunicação entre processos em sistemas de memória distribuída (clusters). Embora seja usado em computação paralela, não é uma linguagem de programação em si e não foi projetado para programar GPUs ou dispositivos móveis com uma única API unificada. Não se aplica à descrição.

Alternativa C — ❌ Incorreta

Fortran é uma linguagem de programação voltada para computação científica, mas não é especificamente uma linguagem paralela multiplataforma para CPUs/GPUs. Ela pode ser usada com extensões como OpenMP ou CUDA, mas não define por si só uma plataforma paralela heterogênea.

Alternativa D — ❌ Incorreta

OpenMP é uma API para programação paralela em memória compartilhada, especialmente em CPUs multi-core. Não é uma linguagem de plataforma cruzada para programar GPUs e outros processadores embarcados de forma direta. Foca em diretivas de compilador para paralelismo em loops, não em um modelo heterogêneo.

Alternativa E — ❌ Incorreta

Assembly é uma linguagem de baixo nível específica para cada arquitetura de processador. Não é multiplataforma nem voltada para programação paralela de alto nível; cada conjunto de instruções é próprio, inviabilizando a portabilidade descrita.

Conclusão: O OpenCL é a única tecnologia que reúne as características citadas: linguagem paralela, plataforma cruzada, suporte a CPUs/GPUs e dispositivos variados.

Link permanente: /questoes/fg085322