#클라우드

kimhokimho· 2개월

초보자가 알아두면 좋은 2025년 최신 기술 트렌드

프로그래밍을 시작하면 "어떤 기술을 배워야 할까?"라는 질문이 가장 먼저 떠오르죠. 요즘 세상은 정말 빠르게 변하고 있어서, 뭘 배워야 할지 선택이 쉽지 않을 때가 많습니다. 그래서 오늘은 초보자분들이 꼭 알아두면 좋을 기술 트렌드와 그 이유를 쉽게 풀어보려고 해요. 이 글을 보면서 앞으로 어떤 기술을 배우고 싶은지 한번 고민해보세요! 1. AI와 머신러닝: 어디에나 쓰이는 기술 요즘 AI는 정말 안 쓰이는 데가 없어요. 웹, 앱, 게임, 헬스케어 등 어디에서나 쓰이고 있죠. 머신러닝을 배우면 데이터를 분석하거나 자동으로 무언가를 처리하는 시스템을 만드는 데 큰 도움이 돼요. 어디에 쓸 수 있나요? 온라인 쇼핑몰에서 개인 맞춤형 상품 추천 시스템을 만들거나, 교통 데이터를 분석해 최적의 경로를 제공하는 네비게이션 시스템을 구축하거나, 이미지 분류를 통해 품질 검사를 자동화할 수도 있어요. 간단한 예제: 머신러닝 모델 만들기 (Python) from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier # 데이터셋 로드 iris = load_iris() X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=42) # 모델 학습 model = RandomForestClassifier() model.fit(X_train, y_train) # 정확도 확인 accuracy = model.score(X_test, y_test) print(f"모델 정확도: {accuracy * 100:.2f}%") 위 코드는 간단하게 머신러닝 모델을 만들어 데이터를 학습시키고, 얼마나 잘 학습했는지 확인하는 예제입니다. 이 정도라면 생각보다 어려워 보이진 않죠? 2. 클라우드 컴퓨팅: 내 컴퓨터가 아닌 클라우드에서 작업하기 클라우드라는 말을 많이 들어보셨을 거예요. AWS, Google Cloud 같은 서비스들인데, 쉽게 말하면 인터넷에 있는 가상의 컴퓨터를 빌려서 작업하는 거라고 생각하면 돼요. 회사들이 서버를 직접 운영하는 대신 이런 클라우드 서비스를 사용하는 추세죠. 클라우드를 어디에 쓸까요? 간단한 웹사이트를 호스팅하거나, 데이터를 안전하게 저장하거나, AI 모델을 클라우드에서 돌려보는 데 사용합니다. 직접 해보기: 정적 웹사이트 호스팅 1. AWS S3에 버킷을 만들어보세요. (S3는 AWS에서 제공하는 객체 스토리지 서비스로 데이터를 저장하고 관리할 수 있는 클라우드 기반 서비스입니다.) 2. 정적 웹사이트 옵션을 활성화하세요. 3. HTML 파일을 업로드하고\, 제공된 URL로 접속해보세요. 3. 웹 개발의 트렌드: Next.js와 Astro React를 들어보셨다면 Next.js는 아마 익숙할 거예요. Next.js는 SEO(검색엔진 최적화)와 서버사이드 렌더링(SSR) 같은 기능을 추가한 React 기반 프레임워크예요. Astro는 정적 사이트에 특화된 새로운 도구인데, 빠르고 가볍게 웹사이트를 만드는 데 좋아요. Next.js와 Astro의 차이 Next.js는 복잡한 웹 애플리케이션에 적합하고, Astro는 블로그나 포트폴리오 같은 정적 사이트에 최적화되어 있어요. Next.js 시작하기 npx create-next-app my-next-project cd my-next-project npm run dev 위 명령어를 실행하면 기본적인 Next.js 프로젝트가 생성됩니다. 한 번 실행해보고 직접 페이지를 만들어보세요! 4. WebAssembly(WASM): 브라우저 속도를 높이는 비밀 무기 브라우저에서 게임처럼 고성능 앱을 실행하려면 속도가 중요하잖아요? WebAssembly는 이런 문제를 해결해주는 기술이에요. C, Rust 같은 언어로 작성된 코드를 브라우저에서 빠르게 실행할 수 있도록 도와줘요. 왜 WebAssembly가 빠를까요? 일반 웹페이지는 JavaScript로 동작하는데, JavaScript는 해석(interpreted) 언어라 브라우저가 실행할 때 속도가 느릴 수 있어요. 반면 WebAssembly는 미리 컴파일된 코드(binary 형식)로, 브라우저가 더 빠르게 실행할 수 있습니다. 그래서 고성능이 필요한 애플리케이션에 적합한 거죠. 직접 해보기: Rust로 WASM 빌드 Rust를 설치합니다: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh wasm-pack을 설치하세요: cargo install wasm-pack Rust 코드를 WebAssembly로 컴파일해보세요. 5. No-Code와 Low-Code: 코딩 없이 앱 만들기 코딩을 못해도 앱을 만들 수 있다면? Bubble이나 Webflow 같은 도구들은 코딩 없이도 쉽게 앱이나 웹사이트를 만들 수 있게 해줘요. 물론 복잡한 기능은 제한이 있지만, 간단한 프로토타입 제작에는 최고예요. 추천 도구 Bubble: 앱 제작. Webflow: 웹사이트 디자인. Zapier: 앱 간 자동화. 6. IoT와 엣지 컴퓨팅: 스마트 기기의 시대 IoT(사물 인터넷)는 스마트 기기가 서로 연결되는 기술이에요. 스마트홈, 헬스케어, 공장 자동화까지 다양한 분야에서 활용되죠. 엣지 컴퓨팅은 데이터를 중앙 서버가 아니라 기기 자체에서 처리해 빠른 반응을 가능하게 해줘요. 해볼 만한 프로젝트 Raspberry Pi로 스마트 조명 만들기. Arduino로 온도 데이터를 수집하고 시각화하기. 7. 블록체인과 Web3: 탈중앙화의 시작 블록체인은 데이터를 안전하고 투명하게 저장하는 기술이에요. Web3는 이 기술을 기반으로 탈중앙화된 인터넷을 지향합니다. 예를 들어, NFT나 암호화폐가 블록체인의 대표적인 사례예요. 한번 시도해보기: NFT 발행 MetaMask 지갑을 만들어보세요. OpenSea에서 NFT를 발행해보세요. Ethereum 네트워크에서 스마트 컨트랙트를 배포해보세요. 8. 모바일 개발 트렌드: 크로스 플랫폼 vs 네이티브 모바일 앱 개발을 시작하려면 크게 두 가지 접근 방식이 있어요. 바로 크로스 플랫폼 도구와 네이티브 개발 언어입니다. 크로스 플랫폼 도구는 한 번의 코드 작성으로 Android와 iOS 앱을 동시에 개발할 수 있도록 도와주고, 네이티브 언어는 특정 플랫폼에 최적화된 앱을 만들 때 사용됩니다. 크로스 플랫폼 도구: Flutter와 React Native Flutter: Google에서 만든 오픈소스 프레임워크로, 하나의 코드베이스로 Android와 iOS 앱을 동시에 개발할 수 있어요. 풍부한 UI 위젯과 높은 성능이 장점이에요. React Native: Facebook에서 개발한 크로스 플랫폼 프레임워크로, JavaScript를 사용해 앱을 개발할 수 있어요. 다양한 오픈소스 라이브러리를 활용할 수 있고, 기존 웹 개발자가 쉽게 적응할 수 있다는 장점이 있어요. 네이티브 개발 언어: Kotlin과 Swift Kotlin: Google이 공식 지원하는 Android 개발 언어로, 간결하고 가독성이 좋아서 Java를 대체하며 인기를 끌고 있어요. Swift: Apple이 만든 iOS 개발 언어로, 간결한 문법과 강력한 성능 덕분에 iOS와 macOS 앱 개발에 최적화되어 있어요. Flutter와 React Native 시작하기 # Flutter 예제 flutter create my_flutter_app cd my_flutter_app flutter run # React Native 예제 npx react-native init MyReactNativeApp cd MyReactNativeApp npx react-native run-android # Android 실행 npx react-native run-ios # iOS 실행 Kotlin과 Swift 시작하기 Kotlin: Android Studio를 사용해 새 프로젝트를 만들고 Kotlin을 선택해 시작하세요. Swift: Xcode에서 SwiftUI 프로젝트를 생성해 간단한 UI를 만들어보세요. 예를 들어, 버튼을 눌렀을 때 "Hello, World!"를 표시하도록 구현할 수 있어요. 9. GraphQL: 유연하고 효율적인 API GraphQL은 기존의 REST API보다 더 유연하게 데이터를 요청하고 받을 수 있게 해주는 기술이에요. 클라이언트가 필요한 데이터만 요청할 수 있어서 효율적이에요. GraphQL 시작하기 Apollo Server로 GraphQL 서버를 만들어보세요. Apollo Client로 클라이언트에서 데이터를 요청해보세요. 10. 사이버 보안: 안전한 코드는 기본 요즘 해킹 뉴스 많이 보셨죠? 보안은 개발자라면 꼭 알아야 할 기본 소양이에요. SQL 인젝션, XSS 같은 보안 위협을 이해하고 예방하는 방법을 배우세요. JWT는 사용자가 로그인할 때 인증 정보를 서버 대신 토큰에 담아 클라이언트와 주고받는 방식인데, 특히 면접에서도 자주 나오는 개념이라 알아두면 큰 도움이 됩니다. 해볼 만한 보안 프로젝트 Node.js로 JWT 인증 시스템을 만들어보세요. 로그인, 토큰 발급, 검증 기능을 추가해보세요. 결론 기술 트렌드는 빠르게 변하고 있지만, 중요한 건 꾸준히 배우고 적용해보는 거예요. 한 번에 다 익히려고 하기보다는, 하나씩 실습하면서 경험을 쌓아보세요. 기술을 익히는 즐거움은 해본 사람만 아는 법이니까요. 지금 바로 시작해보세요!
170
0
kimhokimho· 3개월

초보 마케터를 위한 개발 관련 트렌드 쉽게 이해하기

"개발은 개발자만 알아야 한다? 아닙니다! 마케터도 기본을 알면 업무에 큰 도움이 됩니다." IT 회사에서 마케팅을 담당하고 있다면, 개발 관련 트렌드에 대한 이해는 큰 경쟁력이 될 수 있습니다. 오늘은 개발 경험이 없는 마케터도 쉽게 이해할 수 있도록, 최신 개발 트렌드와 기본 개념을 알기 쉽게 정리해보았습니다. 1. API란 무엇일까? API(Application Programming Interface)는 프로그램과 프로그램이 서로 대화할 수 있게 도와주는 '언어'라고 생각하시면 돼요. 예를 들어, 구글 지도 API를 사용하면 우리 앱에 지도 기능을 쉽게 추가할 수 있어요. <img src="https://developers.google.com/static/maps/documentation/urls/images/dir-bicycling-seattle.png?hl=ko" alt="구글 지도 API를 이용하여 경로를 표시하는 예" style="max-width: 600px; width: 100%; height: auto;"> API를 쉽게 이해하는 예 음식 배달 앱: 사용자들이 앱에서 주문하면, 이 정보는 배달 업체와 음식점의 시스템으로 전달되죠. 이때 API가 정보를 주고받는 역할을 해요. 소셜 미디어 연결: 다른 앱에서 "Google로 로그인" 또는 "Facebook 계정으로 가입" 같은 기능을 사용할 때 API가 필요합니다. 마케터가 홍보한다면?: "우리 API는 빠르고 안정적이며, 다양한 플랫폼과 연동 가능!" 추가 팁 API 문서 읽기: 마케터도 API 문서를 읽어 기본 기능을 이해하면 홍보 콘텐츠 작성에 도움됩니다. 실제 활용 사례 찾기: 자사의 API가 고객 문제를 해결한 성공 사례를 발굴하세요. REST API와 GraphQL 이해하기: REST는 가장 기본적인 API 방식이고, GraphQL은 더욱 유연한 데이터 요청을 가능하게 해줍니다. 2. 클라우드 서비스: 더 이상 내 서버는 필요 없다? 과거에는 회사가 자체 서버를 관리했지만, 요즘엔 AWS, Azure 같은 클라우드 서비스를 사용해요. 클라우드는 인터넷을 통해 데이터와 프로그램을 저장하고 실행하는 서비스라고 보면 됩니다. <img src="https://images.squarespace-cdn.com/content/v1/60cfd646701da4034512a1c5/ca3d678a-cbfc-4c9c-bc79-9d3be9fb907e/AWS-Cloud.png?format=2500w" alt="AWS 클라우드 서비스 사용" style="max-width: 600px; width: 100%; height: auto;"> 클라우드의 장점 비용 절감: 필요한 만큼만 쓰고, 쓰는 만큼만 지불해요. 확장성: 고객이 많아지면 서버를 더 추가할 수 있어요. 유연성: 언제 어디서나 데이터에 접근 가능. 클라우드 활용 사례 e-커머스: 대규모 트래픽 처리를 위해 클라우드를 사용. 스트리밍 서비스: Netflix 같은 플랫폼은 클라우드를 통해 대량의 데이터를 안정적으로 제공. 마케터가 홍보한다면? "우리 서비스는 AWS 기반으로, 확장성과 안정성을 보장합니다!" 추가 팁 클라우드 서비스 비교하기: AWS, Azure, Google Cloud의 주요 차이점을 이해하면 고객과 대화할 때 설득력이 높아져요. 클라우드와 보안문제: 클라우드 사용의 장점과 함께 데이터 보안 문제를 어떻게 해결하는지 강조하세요. 3. 노코드(No-Code)와 로우코드(Low-Code): 비개발자도 앱을 만들 수 있다? 요즘에는 코딩을 몰라도 앱을 만들 수 있는 도구가 많아요. Wix, Bubble 같은 플랫폼이 대표적이에요. 비개발자가 간단한 웹사이트나 앱을 만들고 싶을 때 유용합니다. <img src="https://img1.daumcdn.net/thumb/R1280x0/?fname=http://t1.daumcdn.net/brunch/service/user/cIuy/image/CrFQewdhy4Oj8p--Dj2ZHCIFzTE.png" alt="버블을 이용한 노코드 앱 개발" style="max-width: 600px; width: 100%; height: auto;"> [이미지: 버블을 이용한 노코드 앱 개발 (이미지 출처: https://brunch.co.kr/@famelee/27)] 차이점 No-Code: 완전히 코딩 없이. Low-Code: 최소한의 코딩만으로. 활용 예시 마케팅 캠페인시 코딩없이 제작: 랜딩 페이지나 간단한 프로모션 웹사이트 제작. 내부 툴 제작에 사용: 회사 내부에서 사용할 간단한 데이터 관리 앱. 추가 팁 도구 선택하기: Bubble은 앱 제작, Webflow는 고급 웹 디자인에 적합해요. 직접 만들어 보기: 간단한 프로토타입을 만들어보며 No-Code 도구가 갖고 있는 한계를 체험하세요. 고객 사례 활용: No-Code 도구를 통해 빠르게 성공한 고객 사례들을 소개하세요. 4. 데이터가 왜 중요한가요? 현대 마케팅은 데이터를 중심으로 이루어져요. Google Analytics, Firebase 같은 툴을 사용하면 사용자 행동 데이터를 쉽게 분석할 수 있어요. <img src="https://www.reflectivedata.com/wp-content/uploads/2017/04/FireShot-Capture-2-Acquisition-Ov__-https___analytics.google.com_analyt.png" alt="Google Analytics를 이용한 데이터 시각화" style="max-width: 600px; width: 100%; height: auto;"> 데이터를 활용한 홍보 전략 맞춤형 메시지 전달: 데이터를 분석해 고객이 원하는 메시지를 전달. 성과 측정: 어떤 캠페인이 효과적이었는지 데이터로 확인. 세그먼트 타겟팅: 고객 그룹을 나눠 각기 다른 홍보 메시지를 제공. 데이터 활용 사례 e-메일 마케팅: 고객의 구매 이력을 분석해 맞춤형 제안. A/B 테스트: 두 가지를 비교하는 방식으로, 두 가지 광고 메시지 중 어떤 것이 더 효과적인지 데이터를 통해 판단. 추가 팁 데이터 시각화 활용: 그래프와 차트를 활용해 데이터를 쉽게 전달하세요. 고객 행동 분석: 고객의 접속 시간, 클릭 패턴 등 고객의 행동을 파악해 홍보 전략을 세우세요. 데이터 보안 강조: 고객 데이터가 안전하게 관리된다는 점을 홍보하세요. 5. 최신 트렌드: AI와 머신러닝 AI(인공지능)와 머신러닝은 이제 IT 산업에서 빼놓을 수 없는 요소예요. 예를 들어, 고객이 좋아할 만한 제품을 추천하거나, 챗봇이 고객 문의를 처리하는 데 활용돼요. AI의 실제 사례 추천 시스템: Netflix가 "당신을 위한 추천"을 제공. 자동화된 고객 응대: AI 챗봇이 고객 질문에 실시간 응답. 이미지 인식: 전자상거래 사이트에서 제품 이미지를 업로드해 비슷한 상품을 추천. AI 활용 팁 고객 맞춤화: 고객 데이터를 기반으로 개인화된 광고를 제공. 자동화 도입: 반복적인 작업을 AI로 자동화해 업무 효율을 높이세요. 마케터가 홍보한다면? "우리 서비스는 AI 기반 분석으로 고객 맞춤형 솔루션을 제공합니다." 추가 팁 AI 이해하기: 머신러닝, 딥러닝 등 주요 개념을 간단히 알아두세요. AI와 윤리: AI 사용 시 프라이버시 보호와 같은 윤리적 문제를 고려해야 함을 강조하세요. 6. 오픈소스: 무료로 쓰는 고급 기술 오픈소스란 누구나 자유롭게 사용하고 수정할 수 있는 소프트웨어를 뜻해요. 대표적인 예로는 리눅스, 워드프레스, 그리고 OpenAI의 GPT 모델 등이 있어요. 오픈소스를 활용한 성공 사례 스타트업: 초기 비용을 줄이기 위해 오픈소스를 활용. 커뮤니티: 개발자 커뮤니티는 오픈소스에 호의적이기 때문에 커뮤니티에서 문제를 해결하고 새로운 아이디어를 얻음. 개발 생산성 향상: 이미 검증된 오픈소스 라이브러리를 사용해 개발 속도를 높임. 마케터가 홍보한다면? "우리 서비스는 최신 오픈소스 기술을 사용해 빠르고 유연한 솔루션을 제공합니다." 그래서 마케터도 개발 트렌드를 이해하면 업무에 큰 도움이 됩니다. API, 클라우드, No-Code, 데이터 활용, AI, 오픈소스 등은 모두 현대 비즈니스에서 중요한 요소예요. 이러한 개념을 알면 홍보 메시지를 더 정확하고 효과적으로 전달할 수 있어요. 요컨대, 개발 트렌드는 단순한 기술 이상의 의미를 가집니다. 이를 적절히 활용하면 마케팅 전략의 깊이와 성과를 크게 향상시킬 수 있을 것입니다. 결국 개발과 마케팅은 함께 성장할 때 더 큰 성과를 낼 수 있습니다!
234
1
4
0
HJOO'S
HJOO'S·2025-01-14
뎁스노트 뉴스레터 보고 의견남기기에  요청드렸던 주젠데 바로 뎁스노트 뉴스레터 3호에 반영되었네요!!! 도움되는 글입니다 감사합니다 ^0^bb 
프라이머리프라이머리· 4년

질문면접광탈했네요.. 고민

컴공과고 1학년 땐 첨엔 놀고 2학년부터 대략 소프트웨어 개발 쪽으로 심화전공 선택해서 과목 이수했는데요  현 4학년인데 대외활동이나 공모전도 틈틈히 하면서 주변 친구들 만큼은 스펙 비슷하게 쌓기도 했고, 자격증도 한 두개 준비하고, C언어나 자바야 뭐.. 다들하니까 했어요.  그러다가 요즘에 뭐먹고 살지 싶어서 찾다가 클라우드 서비스 이런게 유망하다해서 찾아보다보니 클라우드 엔지니어라는 직군이 있었음. 데이터센터에 서버 분산해서 깔고 고속망으로 연결해서 인트넷이나 인트라넷으로 서비스 제공하는 그런건데.. 리눅스도 공부하고 여튼 할 수 있는것들 준비했고, 서 외국계 지원했고, 연봉 조건도 좋고 채용전환형에다 JD 괜찮아서 인턴 썼는데 면접에서.. 광탈했네요..  집단면접 봤는데, 느낀게 어차피 이쪽 직군이 4학년까지 공부한게 거의 의미가 없는 것 같더라구요   전문용어나 직무면접 질문에서 너무 밀려서 면접보는 중에 광탈임을 직감하고.. 근데 완전 삽질 처음부터해야되는거는 엄두가 안나고 실무하고 있는 사람들한테 하나씩 배울 수도 없고.. ㅠㅠ 막막합니다 ㅠㅠ   친구가 이거 직무경험 쌓을 수 있다고 추천해준건데 혹시 이런거 도움될지도 궁금함 온라인 인턴하고 채용연계도 되는거 같은데..   https://bit.ly/38xIU6j 혹시 비슷한 전공이나 현직자 계시면 이거 해볼만 할지 피드백주면 진짜 고맙습니다 ㅠㅠㅠ 무료이긴 한데 그래도 시간도 꽤 써야하는거라서 고민인데요.
1.1K
2
0
Arm 코리아Arm 코리아· 5년

ARM Mobile Studio를 사용하여 Mali GPU 분석 속도 높이기

[출처 : Arm]     Peter Harris 2019년 3월 20일   Streamline 성능 분석기는 장치에 있는 ARM CPU와 Mali GPU의 자세한 성능 정보를 제공할 수 있는 샘플 기반 프로파일러입니다. Streamline의 최근 버전에는 사용할 데이터 세트를 쉽게 선택하고 데이터 세트의 시각화 방법을 제어하는 데 사용할 수 있는 사전 정의된 템플릿이 포함되어 있습니다. ARM Mobile Studio 과 ARM Development Studio 에 포함된 Streamline 최신 릴리스에는 Mali Bifrost GPU 계열을 위한 Mali GPU 템플릿의 개선 사항이 다수 포함되어 있습니다. 이 글에서는 Mali-G72 GPU용 템플릿의 사용 방법을 살펴봅니다.   이 블로그에서는 독자가 그래픽 용어, 특히 타일 기반 렌더링 GPU 아키텍처와 관련된 용어에 익숙하다고 가정합니다. 이러한 주제에 대한 몇 가지 유용한 빠른 시작 가이드는 아래에서 찾을 수 있습니다. Understanding Render Passes (렌더 패스의 이해) Understanding GPU Pipelining (GPU 파이프라인의 이해) Understanding Tile-based Rendering (타일 기반 렌더링의 이해) Introduction to the Mali Bifrost Shader Core (Mali Bifrost Shader Core 소개)   카운터 선택 Quick Start Guide 따라 응용 프로그램을 설정하고 타겟에 게이터 데몬(gator daemon)을 설치했다면 이제 몇 가지 데이터 소스를 선택하고 프로파일링을 시작해야 합니다. 장치에 연결하고 Counter Selection 대화 상자를 표시합니다. Counter Selection 대화 상자의 드롭다운 메뉴에서 장치에 적합한 템플릿을 선택합니다.   [출처 : Arm]   이렇게 하면 템플릿의 시각화를 렌더링하는 데 필요한 모든 데이터 소스가 자동으로 선택됩니다. Save를 클릭한 다음, 응용 프로그램의 트레이스를 캡처합니다. 초기 데이터 분석이 완료되면 기본 Timeline 시각화가 표시됩니다. [출처 : Arm]   이것은 캡처된 알파벳순 차트 목록과 데이터 계열을 보여 줍니다. 따라서 제일 먼저 할 일은 시각화 캡처에 사용한 것과 동일한 템플릿을 선택하는 것입니다. [출처 : Arm]   이렇게 하면 우리의 성능 분석팀이 설계한 미리 정의된 시각화를 표시하도록 Timeline이 변경됩니다. 그러면 차트의 순서가 더 체계적으로 지정되며, 수학 표현식을 활용하여 여러 원시 카운터를 조합해 기능 유닛의 사용률 같은 더 읽기 쉬운 메트릭이 도출됩니다.   프레임 찾기 Timeline에 표시되는 초기 뷰가 제공하는 시간은 화면 샘플당 1초입니다. 우리의 가장 큰 관심사는 일반적으로 길이가 16~32밀리초 사이인 프레임을 얼마나 잘 처리하고 있는지 보는 것이므로 1초 단위는 그래픽 콘텐츠를 디버깅하기에는 시간 간격이 너무 큽니다. 따라서 분석의 첫 단계는 단일 프레임을 구별할 수 있을 때까지 뷰를 확대하는 것입니다. [출처 : Arm]   샘플에 표시된 응용 프로그램에서는 응용 프로그램이 eglSwapBuffers()를 호출할 때마다 Streamline 마커 주석이 생성되도록 소스 코드에 주석 (annotation)이 추가됐습니다. 이것은 차트 위 타임 트랙에 빨간색 눈금으로 표시됩니다.   개별 프레임을 볼 수 있게 되면 현재 시스템 동작의 초기 평가가 가능합니다. 프레임 간 시간을 측정하여 달성된 프레임률을 확인합니다. CPU 스레드 부하를 측정하여 CPU 바운드 여부를 확인합니다. GPU 스레드 부하를 측정하여 GPU 바운드 여부를 확인합니다. CPU 및 GPU 워크로드의 파이프라인을 조사하여 응용 프로그램 논리가 버블 스케줄링 없이 그래픽 파이프라인을 최적으로 피딩하는지 확인합니다.   위의 예에서는 프레임의 상당 부분에 대해 CPU가 모두 유휴 상태가 되는 것을 볼 수 있으므로 CPU 바운드가 아닙니다. 또한 GPU가 항상 활성 상태인 것도 볼 수 있으므로 GPU가 이 응용 프로그램의 성능을 제한하는 프로세서일 가능성이 매우 높습니다.   GPU 워크로드를 더 세분하면 프래그먼트 쉐이딩 큐가 항상 활성 상태이며, 모든 지오메트리 및 컴퓨팅 처리에 사용되는 비 프래그먼트 큐는 프레임 대부분 동안 유휴 상태가 되는 것을 볼 수 있습니다. 따라서 성능을 개선하고 싶다면 이 응용 프로그램의 조각 워크로드를 최적화해야 합니다.   이 자습서의 이후 섹션에서는 템플릿의 각 차트를 살펴보고, 그 의미가 무엇이며 차트의 변화가 성능 개선을 모색하는 응용 프로그램 개발자에게 무엇을 시사하는지 설명합니다.   CPU 워크로드 CPU 차트는 시스템에 있는 CPU의 전체적 사용량을 보여 줍니다. [출처 : Arm]   CPU Activity 차트는 big.LITTLE 클러스터링이 있는 경우, 프로세서 유형으로 나누어 CPU가 활성 상태였던 시간의 비율로 계산한 CPU별 사용률을 보여 줍니다. 이것은 OS 스케줄링 이벤트 데이터에 기반합니다. CPU Cycles 차트는 CPU 성능 모니터링 유닛(PMU)을 사용하여 측정된, 각 CPU가 활성 상태였던 사이클 수를 보여 줍니다. 이 두 가지를 함께 고려하면 전체적인 응용 프로그램 소프트웨어 부하를 평가할 수 있습니다. 높은 사용률과 높은 CPU 사이클 수는 CPU가 매우 바쁘며 높은 클록 주파수로 실행되고 있음을 나타냅니다.   [출처 : Arm]   Timeline 탭 하단의 프로세스 뷰는 응용 프로그램 스레드 활동을 보여 주므로 어떤 스레드에서 부하가 발생하는지 파악할 수 있습니다. 목록에서 하나 또는 다수개의 스레드를 선택하면 CPU 관련 차트가 필터링되므로 선택한 스레드의 부하만 표시할 수 있습니다. 스레드 레벨 필터가 활성 상태이면 차트 제목 배경이 파란색으로 바뀌어 측정된 부하 일부를 현재 볼 수 없음을 나타냅니다.   응용 프로그램이 성능 목표에 도달하지 못하고 항상 활성 상태인 CPU 스레드가 하나라면 CPU 바운드일 가능성이 높습니다. 프레임 시간을 개선하려면 이 스레드의 워크로드 비용을 줄이는 소프트웨어 최적화가 필요합니다. Streamline은 성능 카운터 뷰 외에도 프로그램 카운터 샘플링을 통해 네이티브 소프트웨어 프로파일링을 제공합니다. 소프트웨어 프로파일링은 이 튜터리얼의 범위를 벗어나므로 자세한 내용은 Streamline 사용 설명서를 참조하십시오.   GPU 워크로드 GPU 워크로드 차트는 GPU의 전체 사용량을 보여 줍니다. [출처 : Arm]   Mali Job Manager Cycles 차트는 GPU 전체에서 비프래그먼트 및 프래그먼트 작업을 위한 두 개의 병렬 하드웨어 작업 큐를 실행하는 작업에 사용된 GPU 사이클 수를 보여 줍니다. Mali Job Manager Utilization 차트는 GPU 활성 사이클(GPU Active Cycle)에 대한 백분율로 정규화된 동일한 데이터를 보여 줍니다.   GPU 바운드 콘텐츠의 경우, 주된 작업 큐는 항상 활성 상태여야 하고 다른 큐는 이 큐에 병렬로 실행되어야 합니다. GPU 바운드 응용 프로그램의 병렬 처리가 좋지 않은 경우, glFinish()와 같이 렌더링 파이프라인을 드레이닝하는 API 호출 또는 glReadPixels()의 동기화 사용 또는 여러 렌더 패스의 단계 중첩(프레임 간 중첩 포함)을 허용하기에는 너무 보수적인 Vulkan 종속성을 확인하십시오.   이 차트의 Tiler active 카운터는 지오메트리 처리 전체 기간 동안 일반적으로 타일러가 활성 상태이므로 직접적으로 유용하지 않을 수도 있지만 컴퓨트 쉐이딩이 얼마나 있는지 보여 줄 수 있습니다. Non-fragment active와 Tiler active의 격차가 크다면 응용 프로그램 컴퓨트 쉐이더가 원인일 수 있습니다.   IRQ active 카운터는 보류 중인 CPU와의 인터럽트가 있는 GPU의 사이클 수를 보여 줍니다. GPU 사이클 2%까지의 IRQ 보류율은 정상이지만 응용 프로그램이 많은 수의 작은 렌더 패스 또는 컴퓨팅 디스패치를 큐에 넣어 인터럽트 비율이 높아질 수 있습니다.   참고: 높은 IRQ 오버헤드는 권한 있는 커널 동작에 의해 장시간 CPU 인터럽트가 마스킹되는 경우와 같은 시스템 통합 문제를 나타낼 수도 있습니다. 응용 프로그램 변경을 사용하여 높은 IRQ 오버헤드를 수정하기는 일반적으로 불가능합니다.   GPU 메모리 시스템 메모리 시스템 차트는 GPU에 의해 생성된 메모리 트래픽과 시스템이 이 트래픽을 얼마나 효과적으로 처리하는지를 기준으로 GPU 메모리 인터페이스에 나타나는 동작을 보여 줍니다. [출처 : Arm]   Mali External Bus Bandwidth 차트는 응용 프로그램에 의해 생성된 총 읽기 및 쓰기 대역폭을 보여 줍니다. 외부 DDR 메모리 액세스가 매우 에너지 집약적이므로 메모리 대역폭 감소는 효과적인 응용 프로그램 최적화 목표가 될 수 있습니다. 이후의 차트는 응용프로그램의 어떤 리소스가 트래픽의 원인인지를 파악하는 데 도움이 됩니다.   Mali External Bus Stall Rate 차트는 버스 정지가 있는 GPU 사이클의 비율을 보여 주며, GPU가 외부 메모리 시스템으로부터 얼마나 많은 배압을 받고 있는지 나타냅니다. 5%까지의 정지 비율은 정상으로 간주되며, 이보다 훨씬 높은 정지 비율은 메모리 시스템이 처리할 수 있는 것보다 많은 트래픽을 생성하는 워크로드를 나타냅니다. 전체 메모리 대역폭을 줄이거나 액세스 지역(locality)을 개선하면 정지 비율을 줄일 수 있습니다.   Mali External Bus Read Latency 차트는 외부 메모리 액세스 응답 지연의 스택형 히스토그램을 보여 줍니다. Mali GPU는 GPU 사이클 170회까지의 외부 메모리 지연을 고려하여 설계되었으므로 더 느린 빈(bin)에서의 높은 읽기 비율은 메모리 시스템 성능 문제를 나타낼 수 있습니다. DDR 성능은 일정하지 않으며 DDR이 높은 부하를 받을 때는 지연이 증가하므로 대역폭을 줄이는 것이 지연을 줄이는 효과적인 방법이 될 수 있습니다.   참고: DDR은 공유 리소스이고 시스템의 다른 부분에서 오는 경합 트래픽이 있기 때문에 메모리 액세스 중 적은 부분은 더 느린 빈에 있을 것으로 예상됩니다.   Mali External Bus Outstanding Reads/Writes 차트는 또 다른 스택형 히스토그램 세트를 보여 주는데, 이번에는 GPU가 메모리 시스템 큐에 넣은 허용된 메모리 액세스의 비율을 보여 줍니다. 히스토그램이 75~100% 빈에 있는 비율이 높을 경우, GPU에 트랜잭션이 부족할 수 있습니다. 이렇게 되면 이전 메모리 요청이 사용 중지될 때까지 새 메모리 요청이 정지됩니다. DDR에서 메모리 대역폭을 줄이거나 액세스 지역(locality)을 개선하면 성능을 높일 수 있습니다.   GPU 지오메트리 지오메트리 차트는 GPU가 처리 중인 지오메트리의 양과 프리미티브 컬링 유닛의 동작을 보여 줍니다. [출처 : Arm]   Mali Primitive Culling 차트는 처리되는 프리미티브의 절대 수, 각 컬링 단계에 의해 소멸되는 프리미티브 수, 보이는 프리미티브 수를 보여 줍니다. 단일 정점은 메모리 대역폭 요구 사항이 높기 때문에 단일 프래그먼트보다 처리에 훨씬 더 많은 비용이 듭니다. 따라서 프레임당 총 프리미티브 수를 최대한 줄이는 것을 목표로 해야 합니다.   Mali Primitive Culling Rate 차트는 각 컬링 단계에 진입하여 해당 단계에 의해 소멸되는 프리미티브의 비율과 보여지는 프리미티브의 비율을 보여 줍니다. 컬링 파이프라인은 일련의 처리단계로 실행됩니다.     [출처 : Arm]   3D 장면의 경우, 프리미티브의 50%까지는 후면이며 페이싱 테스트 컬링 유닛에 의해 소멸될 것으로 예상됩니다. Culled by facing test 비율이 이보다 훨씬 낮다면 페이싱 테스트가 올바르게 활성화되어 있는지 검토하십시오.   CPU에서 프루스툼 밖에서 그리는 드로우 콜들이 컬링되게 하는 것이 응용프로그램의 표준 모범 사례이므로 Culled by frustum test 비율은 최대한 낮춰야 합니다. 입력 프리미티브의 10% 이상이 이 단계에서 소멸되는 경우, CPU 측 컬링의 효과를 검토하십시오. 또한 지나치게 큰 객체 배치(batch)는 컬링 효율을 떨어뜨릴 수 있으므로 배치 크기를 검토하는 것이 좋습니다.   마지막 컬링 비율인 Culled by sample test는 너무 작아서 래스터화 샘플 포인트에 도달하지 못해 소멸되는 프리미티브의 비율을 측정합니다. 밀집된 지오메트리는 직접 정점 처리 비용이나 프래그먼트 쉐이딩 효율 감소 측면에서 비용이 매우 많이 들기 때문에 이 수치는 가능하면 0%에 가깝게 억제해야 합니다. 여기서 소멸되는 프리미티브가 많을 경우, 정적 메쉬 밀도와 동적으로 lod(level-of-detail)를 선택하는 효과를 검토하십시오.   Mali Geometry Threads 차트는 Mali의 인덱스 기반 정점 쉐이딩 알고리즘에 의해 생성된 쉐이딩 요청의 절대 수를 보여 줍니다. 이 설계는 응용 프로그램의 버텍스 쉐이더를 위치를 계산하는 부분과 다른 varying 변수를 계산하는 부분으로 양분합니다. 가변 쉐이더는 클리핑과 컬링에서 살아남는 프리미티브에 속한 버텍스에 대해서만 실행됩니다. 이 시점에서는 여러 가지를 검토할 수 있습니다. 총 포지션 쉐이더 호출 수를 응용 프로그램 인덱스 버퍼와 비교합니다. 응용 프로그램이 제출한 것보다 많은 인덱스를 GPU가 쉐이딩하는 경우, 인덱스 지역(locality)이 좋지 않은 것일 수 있으며, 이로 인해 포지션 캐시 스래싱과 강제 리쉐이딩이 발생할 수 있습니다. 총 포지션 쉐이더 호출 수를 총 입력 프리미티브 수와 비교합니다. 대부분의 콘텐츠의 경우, 비용을 최대한 분할하기 위해서는 여러 인접 프리미티브가 단일 버텍스를 사용해야 하므로 프리미티브당 평균 정점 1개 미만을 목표로 하십시오.   GPU 쉐이더 프런트 엔드 쉐이더 프런트 엔드 차트는 프리미티브를 쉐이딩할 프래그먼트 스레드들로 바꾸는 고정 함수 유닛의 동작을 보여 줍니다. [출처 : Arm]   Mali Core Primitives 차트는 래스터화를 위해 로드되는 프리미티브의 수를 보여 줍니다. Mali는 타일당 한 번씩 큰 프리미티브를 로드하므로 교차하는 타일마다 이 숫자에 단일 프리미티브가 한 번씩 포함된다는 점을 명심하십시오.   Mali Early ZS Testing Rate 차트는 깊이(Z) 및 스텐실(S) 테스트와 프런트 엔드의 컬링 비율을 보여 줍니다. Early ZS 테스트는 Late ZS 테스트보다 비용이 훨씬 적게 들므로 거의 모든 프래그먼트를 Early ZS 테스트하는 것을 목표로 하십시오. 그 방법은 shader discard, alpha-to-coverage, 쉐이더가 생성한 깊이 값의 사용을 최소화하는 것입니다. FPK killed 카운터는 Mali의 Forward Pixel Kill 은면 제거(hidden surface removal) 체계에 의해 소멸되는 쿼드들(quad)의 비율을 보고합니다. FPK에 의해 소멸되는 쿼드 비율이 높은 것은 뒤에서 앞으로의 렌더링 순서를 나타내며, 이를 앞에서 뒤로의 렌더링 순서로 역전하면 Early ZS 테스트 중에 더 일찍 쿼드가 소멸되어 에너지 소비가 줄어듭니다.   Mali Late ZS Testing Rate 차트는 깊이 및 스텐실 테스트와 조각 쉐이딩 후 백 엔드의 컬링 비율을 보여 줍니다. Late ZS 테스트 중에 소멸되는 쿼드 비율이 높다는 것은 쉐이딩된 후 조각이 소멸되는 것이므로 잠재적인 효율 문제를 나타냅니다.   참고: 투명 색상보다 기존 깊이 또는 스텐실 어태치먼트를 시작 상태로 사용하는 렌더 패스는 리로드 프로세스의 일환으로 Late ZS 연산을 트리거합니다. 이것은 불가피할 수도 있지만 모든 어태치먼트의 삭제 없이 시작하는 렌더 패스의 수를 최소화하는 것을 목표로 하십시오.   Mali Core Warps 차트는 컴퓨팅 프런트 엔드(모든 비 프래그먼트 워크로드 포함)와 프래그먼트 프런트 엔드에 의해 생성된 워프의 수를 보여 줍니다. 워프 폭은 제품마다 다를 수 있습니다.   마지막 두 개의 차트는 스레드당 평균 쉐이더 코어 처리 비용을 보여 줍니다. GPU 바운드 콘텐츠의 경우, 쉐이더 워크로드에는 다음과 같은 가능한 두 가지 최적화 목표가 있습니다. 장면 콘텐츠를 단순화하여 생성되는 워프의 수를 줄이거나 쉐이더 프로그램을 최적화하여 스레드당 비용을 줄이는 것입니다.   GPU 쉐이더 프런트 엔드 픽셀 이 차트 세트는 쉐이더 코어가 픽셀을 생성하는 속도를 살펴봅니다. [출처 : Arm]   Mali Pixels 차트는 모든 쉐이더 코어에 의해 쉐이딩된 총 픽셀 수를 보여 주므로 프레임 생성에 필요한 총 픽셀 수를 평가할 수 있습니다.   Mali Overdraw 차트는 출력 픽셀당 쉐이딩된 평균 프래그먼트 수를 보여 줍니다. 오버드로우 레벨이 높으면 조각당 비용이 낮더라도 성능이 줄어들 수 있습니다. 오버드로우를 줄이려면 사용 중인 투명 프래그먼트의 레이어 수를 최소화하는 것을 목표로 하십시오.   GPU 쉐이더 코어 쉐이더 코어는 GPU의 핵심이므로 쉐이더 코어 워크로드를 검사할 수 있는 카운터가 많은 것에 놀라서는 안 됩니다. 첫 번째 차트 세트의 목표는 전체적인 쉐이더 코어 사용률을 한눈에 볼 수 있는 뷰를 제공하는 것입니다. [출처 : Arm]   참고: 쉐이더 코어 "컴퓨팅" 데이터 경로는 모든 비 프래그먼트 워크로드 처리에 사용되므로 컴퓨팅 관련 카운터에는 정점 쉐이딩 워크로드도 포함됩니다.   Mali Core Utilization 차트는 쉐이더 코어의 3개 주요 부분의 사용률을 보여 줍니다. Compute utilization 계열과 Fragment utilization 계열은 래스터화 및 타일 라이트백(writeback) 같은 고정 함수 논리에 사용된 시간을 포함하여 쉐이더 코어가 해당 유형의 워크로드를 처리하는 시간의 비율을 보여 줍니다. Execution core utilization 계열은 프로그래밍 가능한 코어 자체가 활성 상태인 시간의 비율을 보여 줍니다. 이 비율이 장기간 100% 미만인 경우, 쉐이더 코어 (programmable shader core)를 계속 일할 수 있도록 해야 하는 문제가 있음을 나타낼 수 있습니다. 이 차트의 Fragment FPK utilization 계열은 쿼드를 큐에 넣어 프래그먼트 스레드로 변환되기를 기다리는 시간의 비율을 보여 줍니다. 이 비율이 장기간 100% 미만인 경우, 쉐이더 코어를 위한 새 프래그먼트를 충분히 빠르게 생성하지 못하고 있음을 나타낼 수 있습니다. 이 현상의 원인은 프리미티브당 소수의 프래그먼트를 생성하는 마이크로트라이앵글이 많아서일 수도 있지만 일반적인 그림자 맵 유형처럼 지오메트리를 전혀 포함하지 않는 빈 타일 수가 많은 워크로드를 나타낼 수도 있습니다.   Mali Core Unit Utilization 차트는 실행 코어 내부의 주요 파이프라인 사용률을 보여 줍니다. Execution engine utilization 계열은 쉐이더 코어 산술 유닛이 활성 상태인 시간의 비율을 보여 줍니다. Varying unit utilization 계열은 고정 함수 보간 유닛이 활성 상태인 시간의 비율을 보여 줍니다. Texture unit utilization 계열은 고정 함수 텍스처 샘플링 및 필터링 유닛이 활성 상태인 시간의 비율을 보여 줍니다. Load/store unit utilization 계열은 범용 메모리 액세스 유닛이 활성 상태인 시간의 비율을 보여 줍니다.   쉐이더 코어 바운드인 쉐이더 콘텐츠의 경우, 이 차트를 사용하여 가장 심한 부하가 걸리는 유닛을 찾는 것이 최적화 대상을 결정하는 좋은 방법입니다.   워크로드 속성 Mali Workload Properties 차트에는 워크로드의 흥미로운 동작을 나타내는 다양한 구성요소 계열이 포함됩니다. [출처 : Arm]   Warp divergence rate 계열은 일부 실행 레인(lane)이 마스킹되도록 하는 제어 흐름 분기가 워프에 있을 때 실행되는 명령어의 비율을 보고합니다. 쉐이더 실행 효율을 급속히 잠식할 수 있는 제어 흐름 분기의 최소화를 목표로 하십시오.   Partial warp rate 계열은 커버리지 없는 스레드 슬롯을 포함하는 워프의 비율을 보고합니다. 이것은 프리미티브 엣지와 교차하는 프래그먼트 쿼드로 인해 발생하며, 결과적으로 히트 샘플이 없는 프래그먼트가 생깁니다. 높은 부분 워프 비율은 마이크로트라이앵글 또는 매우 얇은 삼각형이 많은 응용 프로그램을 나타낼 수 있습니다. 쉐이더 실행 효율을 급속히 잠식할 수 있는 부분 워프 수를 최소화하는 것을 목표로 하십시오.   Tile CRC kill rate 계열은 CRC 일치로 인해 소멸되는 타일의 비율을 보고하며, 계산된 색상이 메모리에 이미 있는 색상과 일치함을 나타냅니다. 높은 소멸 비율은 응용 프로그램이 화면의 변경된 부분만 식별하고 드로우할 수 있는 경우, 최적화 기회를 나타낼 수 있습니다.   산술 유닛(Arithmetic Unit) Execution Engine은 모든 산술 워크로드를 비롯한 모든 쉐이더 명령어를 실행하는 데 사용됩니다. 앞서 설명한 Mali Core Unit Utilization 차트의 Execution engine utilization 계열을 사용하여 응용 프로그램의 산술 처리가 제한되는지 여부를 확인할 수 있습니다.   가변 유닛(Varying Unit) Mali Core Varying Cycles 차트는 데이터 정밀도로 나누어 고정 함수 가변 보간 사용량을 보고합니다. [출처 : Arm]   가변 바운드인 콘텐츠의 경우, 다음과 같은 가능한 세 가지 최적화 기회가 있습니다. 직접 워크로드 감소: 프레임당 로드되어야 하는 varying 변수의 전체 수 감소. 정밀도 감소: 32비트 highp에서 16비트 mediump 가변 매개 변수로 전환하면 보간 요구 사항이 절반이 되며, 이로 인해 종종 쉐이더 로직에서 연쇄적으로 성능개선이 발생합니다. varying 패킹: 16비트 varying 변수를 32비트의 배수인 벡터로 패킹하면 사용되지 않는 보간 레인으로 인한 손실 사이클이 최소화됩니다. 예를 들어 패킹된 vec4는 float와 별도의 vec3보다 한 사이클 빨리 보간됩니다.   텍스처 유닛 텍스처 유닛은 모든 텍스처 샘플링과 필터링을 처리하는 복잡한 유닛입니다. 텍스처 유닛은 사용되는 텍스처 형식과 필터링 모드에 따라 성능이 달라질 수 있습니다. [출처 : Arm]   Mali Core Texture Cycles 차트는 고정 함수 텍스처 필터링 유닛의 총 사용량을 보고합니다.   Mali Core Texture CPI 차트는 요청당 평균 텍스처 사이클 수를 보고하며, 더 복잡한 필터링 모드 사용 시 트리거되는 다중 사이클 연산의 수를 파악할 수 있습니다. 텍스처 바운드 콘텐츠의 경우, 단순한 필터링 모드를 사용하여 CPI를 줄이는 것이 효과적인 성능 개선 방법이 될 수 있습니다.   Mali Core Texture Usage Rate 차트는 수행 중인 텍스처 액세스 유형에 대한 통계를 보고합니다. Compressed access 계열은 ASTC와 ETC 같은 블록 압축 텍스처 형식을 사용 중인 텍스처 액세스의 비율을 보고합니다. 게임 렌더링은 대역폭을 줄이기 위해 블록 압축 텍스처를 최대한 이용해야 합니다. Mipmapped access 계열은 밉맵 텍스처를 사용 중인 텍스처 액세스의 비율을 보고합니다. 게임 렌더링은 성능 및 이미지 품질 개선을 위해 모든 3D 장면에 밉맵 텍스처를 사용해야 합니다. Trilinear filtered access 계열은 삼선형 필터링을 사용 중인 텍스처 샘플의 비율을 보고합니다. 이러한 액세스는 이선형 액세스의 절반 속도로 실행됩니다. 3D access 계열은 샘플을 입체적 텍스처로 만드는 텍스처 샘플의 비율을 보고합니다. 이러한 액세스는 2D 액세스 텍스처의 절반 속도로 실행됩니다.   Mali Core Texture Bytes/Cycle 차트는 각 필터링 사이클을 위해 L2와 외부 메모리에서 가져와야 할 바이트 수를 보고합니다. 외부 액세스는 특히 에너지 집약적이므로 압축된 텍스처와 밉맵을 사용하고 캐시 프레셔를 줄이기 위해 좋은 샘플 지역(locality)을 사용하는 것이 좋습니다.   로드/저장 유닛 로드/저장 유닛은 일반적인 읽기/쓰기 데이터 메모리 액세스와 이미지 및 원자적 액세스를 제공합니다. [출처 : Arm]   Mali Core Load/Store Cycles 차트는 로드/저장 캐시에 대해 수행된 액세스 유형을 보고합니다. 읽기 및 쓰기는 &#39;full&#39;이거나 &#39;short&#39;일 수 있습니다. short 액세스는 사용할 수 있는 데이터 버스 폭을 모두 사용하지 않습니다. 벡터화된 메모리 액세스를 수행하여 short 액세스 수를 줄이고 연산 쉐이더에서 공간적으로 인접한 스레드에 있는 인접 데이터에 액세스하면 성능 개선에 도움이 됩니다.   Mali Core Load/Store Bytes/Cycle 차트는 읽기당 L2 및 외부 메모리에서 가져올 바이트 수와 쓰기당 쓰이는 바이트 수를 보고합니다. 사용되는 알고리즘에 대한 지식 없이는 이 카운터를 해석하기가 어려울 수 있지만 메모리 액세스 및 데이터 사용 패턴을 알고 있는 경우, 연산 쉐이더 성능을 조사하는 데 유용할 수 있습니다. 예를 들어 대부분의 부하가 L2 캐시가 아닌 외부 메모리에서 발생하는 콘텐츠가 파악되면 작업 세트가 너무 크다는 뜻일 수 있습니다.   메모리 대역폭 마지막 차트 세트는 트래픽을 생성하는 유닛으로 나누어 쉐이더 코어에 의해 생성된 메모리 대역폭을 보여 줍니다. [출처 : Arm]   전체적인 대역폭 문제가 있는 콘텐츠의 경우, 이 카운터는 가장 많은 트래픽을 생성하는 데이터 리소스를 파악하는 데 도움이 될 수 있습니다. 로드/저장 유닛 트래픽은 모든 유형의 버퍼 액세스와 image() 접근자를 통한
2.6K
0

[AI 해커톤] NAVER AI BURNING DAY

  [NAVER AI BURNING DAY] - 신청 기한 : 2020년 1월 20일(월) 24:00까지 신청 - 참가 대상 : 나이와 신분에 제한 없이 AI에 관심이 있거나 개발을 좋아하는 모두   (* 팀 구성은 최대 4인까지 가능합니다. 1인 팀이나 2인 팀 구성도 가능) - 미션 내용 : 제공하는 네이버 클라우드 플랫폼 AI API를 활용한 앱 또는 웹 개발 - 일시 및 장소 : 아래 그림 참고   NAVER AI BURNING DAY 자세히 보기 >>>>>>>>>> https://campaign.naver.com/aihackathon_ai_burning/ NAVER AI BURNING DAY 참가 신청하기 >>>>>>>>>> https://campaign.naver.com/aihackathon_ai_burning/popup.nhn  
1.5K
0
사용자 프로필· 5년

[AI 해커톤] NAVER AI BURNING DAY

  [NAVER AI BURNING DAY] - 신청 기한 : 2020년 1월 20일(월) 24:00까지 신청 - 참가 대상 : 나이와 신분에 제한 없이 AI에 관심이 있거나 개발을 좋아하는 모두   (* 팀 구성은 최대 4인까지 가능합니다. 1인 팀이나 2인 팀 구성도 가능) - 미션 내용 : 제공하는 네이버 클라우드 플랫폼 AI API를 활용한 앱 또는 웹 개발 - 일시 및 장소 : 아래 그림 참고   NAVER AI BURNING DAY 자세히 보기 >>>>>>>>>> https://campaign.naver.com/aihackathon_ai_burning/ NAVER AI BURNING DAY 참가 신청하기 >>>>>>>>>> https://campaign.naver.com/aihackathon_ai_burning/popup.nhn  
575
0
겍코겍코· 7년

AWS 등 해외 클라우드, 부가세 10% 내야한다

AWS 등 해외 클라우드, 부가세 10% 내야한다 - Byline Network 앞으로 해외 클라우드 서비스에도 부가가치세(이하 부가세, VAT)가 부과될 예정이다. 이에 따라 해외... byline.network 과연 IT 산업에 득일까 실일까?    
1.5K
1
0