본문 바로가기
반응형

Major/Programming31

CUDA 기반 병렬처리 1. 개발환경 설정Visual Studio 설치 (https://visualstudio.microsoft.com/ko/downloads/)CUDA 툴킷 설치 (https://developer.nvidia.com/cuda-toolkit)Visual Studio 설치후 CUDA 툴킷을 설치해야 Visual Studio에 자동으로 CUDA 컴파일이 추가됨Visual Studio 설정새로운 프로젝트 생성 템플릿에 CUDA 항목이 추가됨C/C++ 확장자로 .cu, .cuh 추가: [Tool]-[Option]-[Text Editor]-[File Extension]에서 추가4. CUDA samples: https://docs.nvidia.com/cuda/cuda-samples/ CUDA Samples2.1. Noti.. 2024. 9. 30.
MacOS 환경에서 C/C++를 위한 Visual Studio Code (VS Code) 설치 및 설정 C/C++로 코드를 만들거나 개발한 사람들은 대게 Visual Studio이 익숙하기 마련이다. 대학에서 처음 코드 접할 떄 부터 Visual Studio를 만지다 보니 그런 것이 아닌가 싶다. MacOS환경에서는 MS에서 제공하는 Visual Studio Code (VS Code)를 통해서 Windows 기반의 Visual Studio와 유사한 환경을 구축할 수 있다. 개인적으로 MacOS에서 VS code는 만들고자하는 C/C++코드의 소규모 함수 정도를 가볍게 만들때 주로 사용하고 있다. 1. VS Code 설치 먼저, 아래 링크에서 VS Code를 다운받아 설치한다. https://code.visualstudio.com Visual Studio Code - Code Editing. Redefine.. 2024. 3. 31.
MacOS Python 재설치 1. 기존 Python 제거 - '파인더 - 메뉴 - 이동 - 폴더로 이동', /Library/Frameworks/Python.framework/Versions 입력 및 이동 - 기존 버전 3.X 폴더 삭제 - '파인더 - 응용프로그램 (또는 Application)'에서 Python 3.X 폴더 삭제 다른 방법) ▷ 기존 버전 삭제 rm -rf /usr/local/bin/python* rm -rf/usr/local/bin/pip* ▷ 환경변수 삭제 brew doctor brew cleanup 2. Python 설치 - 아래 Python 공식 웹사이트에서 Stable Release 중 원하는 버전의 python의 installer 파일을 다운로드 후 설치 https://www.python.org/downl.. 2023. 9. 11.
[MATLAB] (MacOS/Macbook Pro/MATLAB 2020a) Python 환경 디렉토리 지정하기 출처: https://www.mathworks.com/matlabcentral/answers/726093-oserror-matlab-engine-for-python-3-8-on-macbook-pro-with-m1-chip MacOS의 경우 Python이 설치되어 있어 따로 설치가 필요없음에도 불구하고, MATLAB 창에서 아래와 같이 Pyenv 명령어로 Python Environment를 체크해도 Version 정보가 제대로 들어오지 않는 경우가 있다. pyenv 이러한 경우에 Python Enviroment Directory를 다음과 같이 지정해 주면 된다. pyversion /usr/local/bin/python3 이렇게 하고 Python 환경을 체크하면 다음과 같이 정상적으로 값이 들어오는 것을 확.. 2023. 9. 7.
[MATLAB] 파일읽기/쓰기 시 파일 경로 지정 1. 경로 이름 지정하기 경로 이름은 파일 위치를 지정합니다. 예를 들면, C:\work\my_data(Microsoft® Windows® 플랫폼), /usr/work/my_data(Linux® 플랫폼 또는 Mac 플랫폼) 등입니다. 파일에 액세스할 때 경로 이름을 지정하지 않으면 MATLAB®은 먼저 현재 폴더에서 검색합니다. 특정 위치에 있는 파일을 나타내려면 경로 이름을 지정하십시오. 유의점: Windows Platform과 Linux/Mac Platform의 상하위 폴더간 슬러시 방향이 반대다. 슬래시(/)는 어느 플랫폼에나 유효한 구분 기호입니다. 백슬래시(\)는 Microsoft Windows 플랫폼에서만 유효합니다. 폴더 전체 경로 맨 끝에 붙는 슬래시는 선택 사항입니다. 명령 창에 file.. 2023. 4. 11.
[MATLAB] 사소한 팁- 그림 배경 흰색, 그래프 글씨크기 및 폰트 통일 1) 그래프 글씨크기 및 폰트 set(gca,'Fontsize',14, 'Fontname', 'times new roman'); > 현재 좌표축 및 차트에서 크기를 14로, 폰트를 Times New Roman으로 설정 2) 그래프 배경 흰색 set(gcf,'Color','w') > 현재 Figure에서 배경색을 흰색으로 설정 3) x축 범위는 알고 있고, y축만 auto로 설정하고 싶은 경우 axis([0 360 -50 20]); axis 'auto y'' > 예를 들어 x축을 0~360으로 설정, y축으로 -50~20으로 우선 설정 후, y축 자동으로 다시 설정 Example) figure; hold on; plot(Phi, 10*log10(4*pi*abs(MoM).^2),'r','LineWidth',.. 2022. 11. 14.
for문 안 변수선언 C언어는 함수의 상단에서 변수선언을 해주어야 했으나, C++에서는 변수 선언의 위치의 제한을 두고 있지 않다. 이 부분이 장점이기도 하고 변수선언이 같이 있지 않다보니 더 헛갈리기도 한다. for 문의 일반적은 구문은 다음과 같으며, init-expression 위치에서도 변수 선언이 가능하다. 유의해야할 점은 init-expression 위치에서 선언한 변수 뿐만아니라 statement에서 선언한 변수는 for 문 안에서만 유효하다는 것이다. for ( init-expression ; cond-expression ; loop-expression) statement 아래의 예문에서 첫번째 for문에서 int i로 변수 선언을 해준 후 다음 for문을 사용하기 전에 int i;로 다시 변수 선언을 해준다... 2022. 9. 19.
NASTRAN (.nas) 파일 1. NASTRAN 파일 대표적인 mesh 파일 형태로, 세계에서 가장 널리 사용되고 있는 유한요소해석(FEA)을 위한 Pre/Post 소프트웨어인 Patran에서 사용되는 파일 형식임. Patran은 FEM Solver 중 하나인 Nastran을 서포트하기 위한 툴로 여기서 사용되는 Mesh 정보 파일을 Nastran으로 부르고 .nas 또는 .dat 파일 확장자를 사용함 nas파일의 대부분은 GRID와 CTRIA3이라는 태그로 mesh 정보를 저장함 GRID - Defines the location of a geometric grid point of the structural model, the directions of its displacement, and its permanent single-po.. 2022. 9. 1.
Visual Studio 2022 프로젝트/솔루션 이름 변경 기존의 VS project를 놔두고 이를 수정하여 새로운 프로그램을 만들때 프로젝트/솔루션 이름 변경하고자 할떄 사용 - VS가 하나의 Solution에 여러개 이름의 project 이름을 가질 수 있도록은 되어있는데... 썩 직관적이지는 않다. 1. 기존의 project가 담긴 폴더 전체를 복사/붙여넣기로 사본 생성 2. project 폴더명을 원하는 것으로 변경 폴더명: OLDNAME → NEWNAME 3. 파일 이름변경 root폴더: OLDNAME.sln → NEWNAME.sln NEWNAME폴더: OLDNAME.vcxproj → NEWNAME.vcxproj 이외에도 .aps, .ico, .rc, .vcxproj.filters, .vcxproj.user 등도 OLDNAME에서 NEWNAME으로 변경.. 2022. 8. 28.
[펌] 포인터 이해를 돕는 짤 출처: https://www.clien.net/service/board/park/17041831 포인터는 어떠한 값이 어디에 있는지를 가르키는 것으로 위치 (메모리 주소)를 저장하는 변수형이다. 2022. 8. 28.
Adaptive Simpson's Method (Adaptive Integral) 출처: https://discuss.codechef.com/t/a-tutorial-on-adaptive-simpsons-method/19991 A tutorial on Adaptive Simpson's Method In competitive programming, Adaptive Simpson’s Method is commonly used to compute Definite Integrals. If you don’t know what is an Integral, please read this article. Introduction to Simpson’s rule Now we want to compute \int_L^Rf(x)\text dx. We use discuss.codechef.com 위 출처를 보.. 2022. 8. 23.
MATLAB Figure 파일에서 데이터 추출하기 *.fig 파일 실행 후 다음 명령어 사용. a = get(gca,'Children'); xdata = get(a,'XData'); ydata = get(a, 'YData'); zdata = get(a, 'ZData'); ▶ Figure에 여러개의 그래프가 있는 경우: data가 cell로 저장되어 있으므로 cell에서 행렬 형태로 다음과 같이 원하는 그래프만 저장 x1 = xdata{1}; y1 = ydata{1}; x2 = xdata{2}; y2 = ydata{2}; csvwrite('ScatteredField.csv',[x1', y1', y2', y3', y4', y5']); - 이 경우 문제는 Figure의 legend 순서대로 data들이 저장되지 않음 > 따라서 여러개 그래프의 경우 저장된 d.. 2022. 6. 22.
반응형