랜더스크립트

RenderScript는 더 이상 사용되지 않는 모바일 기기용 안드로이드 운영체제의 구성 요소로, 이기종 하드웨어를 활용하는 가속용 API를 제공한다. 개발자는 더 복잡한 (하위 수준) 코드를 작성하는 대가로 애플리케이션의 성능을 높일 수 있다.

이것은 개발자에게 세 가지 주요 도구를 제공한다: 간단한 3D 렌더링 API, CUDA와 유사한 컴퓨팅 API, 그리고 C99에서 파생된 언어이다.

 역사 
RenderScript는 안드로이드 3.0 허니콤에서 추가되었다.

안드로이드 4.1부터 RenderScript의 실험적인 3D 렌더링 API는 더 이상 사용되지 않으며, 현재는 컴퓨팅 API로만 존재한다.

안드로이드 4.2는 블렌드 및 블러와 같은 스크립트 내장 기능에 새로운 기능을 추가했으며, 관련 RenderScript 스크립트를 그룹화하여 한 번의 호출로 실행할 수 있는 ScriptGroups도 추가했다.
또한 FilterScript를 추가했는데, 이는 개발자가 표준 RenderScript 런타임 API를 사용하여 FilterScript에서 이미지 처리 작업을 작성할 수 있도록 하는 RenderScript의 하위 집합이지만, 멀티코어 CPU, GPU 및 DSP 전반에 걸쳐 더 넓은 호환성과 향상된 최적화를 보장하는 엄격한 제약 조건 내에서 작동한다. FilterScript는 부동 소수점 정밀도가 덜 정밀하고 RenderScript의 더 많은 교차 장치 호환 하위 집합이며 RenderScript 대체 기술로 오해해서는 안 된다.

2021년 4월 19일, 구글은 RenderScript가 안드로이드 12에서 더 이상 사용되지 않을 것이며, 기존 코드를 Vulkan으로 포팅할 것을 권장한다고 발표했다.

 기능 

 이식성 
RenderScript는 하드웨어 유형에 관계없이 다양한 안드로이드 플랫폼에서 항상 실행되도록 설계되었다. 성능 튜닝은 런타임에 이루어진다.

RenderScript 이식성은 장치별 드라이버에 따라 달라진다. 모든 장치에 기본 CPU 전용 드라이버가 제공되며, GPU 사용을 가능하게 하는 특정 칩셋 제공 RenderScript 드라이버도 존재한다(예: libRSDriver_adreno.so 안드로이드 라이브러리에 제공되는 퀄컴 특정 드라이버).

 성능 
RenderScript는 기본 하드웨어에서 효율적으로 분할 및 동시 실행될 수 있는 작업을 런타임에 조정하도록 설계되었다.

안드로이드 4.2부터 RenderScript는 지원되는 시스템에서 CPU 외에 GPU에서도 실행되도록 확장되었다.

 제한 사항 
 RenderScript는 아직 온칩 스레드 간 통신(OpenCL의 로컬 메모리, CUDA의 공유 메모리)을 표현할 수 없다.
 RenderScript는 아직 양선형 보간법을 사용한 하드웨어 구현 2D 및 3D 조회(CUDA의 텍스처, OpenCL의 이미지 읽기)를 표현할 수 없다.

 각주 

 외부 링크 
 구글 개발자 페이지
 RenderScript 소개
 RenderScript 파트 2
 구글, 허니콤용 저수준 RenderScript API 상세 공개
 비디오: 로맹 기와 쳇 하아제에게 RenderScript에 대해 배우기 
 안드로이드 스튜디오에서 RenderScript 설정 가이드

분류:안드로이드 (운영체제)
분류:GPGPU 라이브러리