본문 바로가기

코딩 강좌35

GPU를 이용한 소수 생성기 Rust로 소수를 생성하는 코드 분석 및 설명안녕하세요! 이번 블로그 글에서는 Rust 프로그래밍 언어를 사용하여 소수를 생성하는 코드를 분석하고, 그 구조와 동작 원리를 자세히 설명하겠습니다. 이 코드는 WGPU 라이브러리를 활용해 GPU에서 소수 계산을 시도하려는 의도를 가지고 있지만, 실제로는 CPU에서 소수를 계산하는 방식을 채택하고 있습니다. 코드의 주요 구성 요소와 각 부분의 역할을 하나씩 살펴보겠습니다.1. 코드 개요이 코드는 Rust로 작성되었으며, 소수를 효율적으로 계산하기 위해 다음과 같은 주요 구성 요소로 이루어져 있습니다:PrimeData 구조체: 소수 여부를 저장하는 데이터 구조.ComputeContext 구조체: WGPU 관련 리소스를 관리하며 GPU 계산을 준비.compute_.. 2025. 3. 24.
Cesium에서 Gaussian Splatting 3D 모델 시각화하기 최근 3D 컴퓨터 비전 분야에서 주목받고 있는 Gaussian Splatting을 Cesium 기반의 3차원 지도에서 시각화하는 방법을 소개하겠습니다. Gaussian Splatting은 기존의 메시(mesh) 기반 3D 모델링과 달리, 3D 가우시안 분포를 활용하여 장면을 표현하는 새로운 접근 방식입니다.Gaussian Splatting이란?Gaussian Splatting은 3D 점군(point cloud)을 3차원 가우시안 분포로 표현하는 방법입니다. 각 가우시안은 다음과 같은 특성을 가집니다:위치 (x, y, z)크기와 방향을 정의하는 공분산 행렬색상 및 불투명도이 방식의 장점은 다음과 같습니다:렌더링 품질이 우수함실시간 렌더링이 가능함메모리 효율성이 높음뷰 디펜던트(view-dependent) .. 2025. 2. 4.
TerriaJS로 만드는 강력한 웹 기반 공간정보 플랫폼 TerriaJS는 호주 정부의 Data61(CSIRO의 디지털 연구 부문)에서 개발한 오픈소스 공간정보 플랫폼입니다. 2D와 3D 지도 시각화를 위한 웹 기반 프레임워크로, 다양한 공간 데이터를 통합하고 시각화할 수 있습니다.TerriaJS의 주요 특징강력한 데이터 통합WMS, WFS, GeoJSON, KML 등 다양한 공간데이터 포맷 지원CSV 파일의 위치 정보 매핑 기능실시간 데이터 스트리밍 지원사용자 친화적 인터페이스직관적인 드래그 앤 드롭 방식의 데이터 추가레이어 투명도 조절 및 스타일링 기능시계열 데이터 애니메이션 지원고급 분석 도구공간 분석 및 차트 생성 기능3D 지형 가시화사용자 정의 분석 도구 추가 가능TerriaJS 기반 주요 프로젝트NationalMap (호주)호주 정부의 공식 공간정보.. 2025. 2. 4.
자체 호스팅 LLM을 이용한 자연어 검색 질의 최근 ChatGPT와 같은 대규모 언어 모델(LLM)의 발전으로 자연어 검색이 주목받고 있습니다. 이번 글에서는 오픈소스 LLM을 로컬 환경에서 실행하여 자연어 검색 시스템을 구축하는 방법을 알아보겠습니다.LM Studio 소개LM Studio는 로컬 환경에서 LLM을 쉽게 실행할 수 있게 해주는 데스크톱 애플리케이션입니다. 주요 특징은 다음과 같습니다:다양한 오픈소스 LLM 모델 지원간단한 GUI 인터페이스API 서버 모드 제공Windows/Mac/Linux 지원모델 다운로드 및 관리 기능사용할 LLM 모델 소개1. DeepSeek R1DeepSeek R1은 중국 DeepSeek사에서 개발한 오픈소스 LLM입니다.7B/12B 파라미터 모델 제공한국어 성능이 우수낮은 하드웨어 요구사항Apache 2.0 .. 2025. 2. 4.
Vanna와 Milvus를 활용한 자연어 SQL 쿼리 시스템 구축하기 이번 포스트에서는 Vanna와 Milvus를 사용하여 자연어로 SQL 쿼리를 생성하는 시스템을 구축하는 방법을 살펴보겠습니다.1. 시스템 구성 요소사용된 주요 라이브러리Vanna: 자연어를 SQL로 변환해주는 프레임워크Milvus: 벡터 데이터베이스OpenAI: 언어 모델 기반 처리SQLite: 관계형 데이터베이스2. 코드 구조 분석환경 설정import osimport sqlite3from pymilvus import MilvusClient, modelfrom vanna.milvus import Milvus_VectorStorefrom vanna.openai import OpenAI_ChatVanna-Milvus 클래스 정의class VannaMilvus(Milvus_VectorStore, OpenAI_.. 2024. 12. 3.
폴리곤 내부 일정간격 안에 또 다른 폴리곤 만들기 아래 화면은 Leaflet.js와 Turf.js 라이브러리를 사용하여 대화형 지도를 생성하고 다각형 버퍼 연산을 수행하는 예제입니다.  코드를 단계별로 설명하겠습니다:1. 지도 초기화var map = L.map("map").setView([-26, 128], 5);호주 중심부 근처(-26° 위도, 128° 경도)에 지도를 생성줌 레벨은 5로 설정2. 지도 타일 레이어 추가L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {...})Carto의 밝은 색상 지도 타일을 사용지도 데이터 출처 표시3. 기본 다각형 생성var polygon = turf.polygon([...])호주 내부에 직사각형 모양의 다각형을 생성좌표점들을 .. 2024. 11. 13.