[잡담] GPUDirect Storage and for Video

이미지
 회사에서 빠르고 많은 이미지 저장을 위해 검색을 하던 중 GPUDirect Storage 란 녀석을 발견하게 되었다. GPU와 SSD 등의 저장매체에 바로 접근하는 방법으로 기존 파일 읽어오는 방식보다  빠르게 많은 정보를 읽고 쓸 수 있는 방식이다. 하지만 아직까진 특수 환경에서만 사용가능한 녀석이다. 지원되는 그래픽 카드가 한정적이며 OS 지원도 필요한데 주로 사용하는 OS 가 윈도우다 보니 아직 직접 테스트를 해보지는 못하였다. 우선은 2021년 6월 초 기준으로 자료만 정리할까 한다. GPUDirect 기술로는 GPUDirect Storage, GPUDirect RDMA, GPUDirect for Video 3가지가 있다. GPUDirect Storage는 위에서 간단히 설명한 녀석이고 GPUDirect RDMA 는 원격으로 다른 2대의 시스템간 GPU에 있는 데이터를 주고 받는 방식이다. 그리고  GPUDirect for Video는 Grabber 와 GPU 간 데이터는 주고 받는 방식이다.  GPUDirect for Video와 Storage 두가지 방식을 이용해서 많은 데이터를 받아 저장하려 하였으나 지원하는 그래픽 카드가 아직은 너무 적어서 포기하였다.    - From GPUDirect Storage Document  Nvidia V100 과 Ampere Architecture 라는데 평소에는 들어보지도 못한 녀석들이라;; 평소 보기 힘든 Tesla나 Quadro 역시 아직까지 지원을 하지 않는단다;; 지원 OS도 리눅스 밖에 없어 아직까지는 이 기술을 사용이 제한적일 듯 하다.  자료를 찾을 때 보긴했으나 저장을 안해놓아 어디서 봤는지 기억이 안나지만 윈도우에서도 올해말안에 지원하는 기능을 추가한다고 하니 그때까지 기다려 보려 한다. 빨리 윈도우에서의 지원과 일반 게이밍 그래픽카드에서의 지원으로 게임할 때도 빠른 로딩을 사용 할 수 있기를 빌어본다.    

[Python] selenium 를 이용한 이미지 크롤링

특정 이미지를 학습 시킬 일이 있어 이미지를 모으는 방법을 찾다가 알아낸 방법으로   이미지 크롤링이란 녀석이다.   홈페이지에 찾고 싶은 검색어를 입력하고 프로그램이 알아서 이미지들을 수집하는 것이라 보면 되겠다.   우선 참고한 곳의 블로그들 : 섭섭님 블로그 mjhuh263 님 블로그    그럼 코드 부터! from selenium import webdriver from selenium.webdriver.common.keys import Keys import time import urllib.request import os def search_selenium(search_name, search_path, search_limit):     search_url = "https://www.google.co.kr/imghp?hl=ko"     driver = webdriver.Edge(executable_path='msedgedriver.exe')     driver.get(search_url)     elem = driver.find_element_by_name("q")     elem.send_keys(search_name)     elem.send_keys(Keys.RETURN)     SCROLL_PAUSE_TIME = 1     # Get scroll height     last_height = driver.execute_script("return document.body.scrollHeight")     while True:         driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")         time.sleep(SCROLL_PAUSE_TIME)         new_height = driver.execute_script("return document.body

[MFC] 멀티쓰레드에서 사용하기 좋은 QUEUE (concurrent_queue)

 라인 스캔 카메라를 고속으로 사용할 일이 있어 스캔 속도를 높였더니   이미지가 뒤죽박죽이 되는 현상이 발생하였다.   아무래도 이미지를 합치기 위해 한 줄씩 카피하다보니 메모리에서 이미지 카피 속도 보다   카메라에서 던지는 속도가 더 빠른듯 하다.   일단 카메라에서 받는 이미지를 concurrent_queue 에 넣고    다른 쓰레드에서 이를 빼서 처리하는 방식으로 코드를 수정하였다.   concurrent_queue 는 멀티 쓰레드에서 사용하기 편한 Queue 로    Push 나 try_pop 을 할 때 다른 쓰레드에서의 접근을 신경쓰지 않아도 된다. CCriticalSection 을 Lock, Unlock 하지 않아도 된다는 말씀! 검색해본 결과 empty, push, get_allocator, try_pop 함수만 쓰레드 세이프 하고   다른 함수들은 접근하고 있는 쓰레드의 유무에 따라 값이 바뀔수도 있다고 한다. 사용법은 concurrent_queue<template> _QUEUE; 로 선언 후 _QUEUE.push( 객체 ); 로 push _QUEUE.try_pop(&객체) 로 Pop 하여 사용하면 된다.   #include < concurrent_queue . h > concurrent_queue<int> _QUEUE;   _QUEUE.push(1);  int a = 0; _QUEUE.try_pop(&a); --- 추가 --- 생각대로는 잘 안된다. push는 모르겠는네 try_pop 과 empty 가 동시에 두 개 이상 쓰레드에서 진행될 때  문제가 발생했다. empty로 동시에 접근하고 try_pop 할 때 문제가 발생한다;;;   어쩔 수 없이 Lock과 Unlock 을 사용하여 문제를 해결하여 사용중이다.   조금 더 공부가 필요할 것 같다. [출처] : http://egloos.zum.com/sweeper/v/3053916 [출처] : https://docs.microsoft

[재테크] 주린이가 투자할 주식 고르는 방법 1

     이 글은 남에게 보여주기 보단 내 투자 방법을 잊지 않고 지키고자 기록하는 글이다. 2007년 부터 주식투자를 해왔지만 그닥 수익을 올리지 못하고 있다가 작년부터 의미있는   수익을 올리며 그간 무엇을 잘못 했으며 작년부터 달라진게 무엇인지 정리해보고자 한다.   현재 내가 투자할 종목을 고르는 방법 및 투자 방법은 다음과 같다.   1. 계속 돈을 벌고 있는 기업에 투자하라 주식 투자에는 크게 두가지 방법이 있다고 생각한다.  첫번째는 기업의 꿈에 투자하는 방법과 두번째는 기업의 이익에 투자하는 방법이다. 첫번째의 예로는 바이오 기업에 투자하는 것이 좋은 예일 것이다. 많은 바이오 기업들이 현재 매출액이나 영업이익에서 마이너스를 기록하고 있지만  현재 연구, 개발 중인 신약이 성공했을 경우를 상상하여  그 기업의 가치를 매기고 투자를 하는 것이다.   이는 성공하면 대박, 실패하면 주식이 휴지조각이 될 수도 있는 위험성을 가지고 있다. 따라서 계속 기업의 동향 및 소식에 신경을 쓰며 투자하여야 한다. 두번째 기업의 이익에 투자하는 방법은 현재 그 기업이 벌고 있는 돈에 투자하는 것이다. 기업이 돈을 잘 번다고 해서 무조건 주가가 올라가는 것은 아니다. 반대로 기업의 주가가 올라간다고 해서 그 기업이 무조건 돈을 많이 벌고 있거나  많이 벌어들일 것은 아니다. 기업의 주가와 실적은 미시적으로는 크게 관련이 없으나  거시적으로는 주가는 실적에 비례하여 움직이게 되어 있다. 이러한 점이 장기투자를 해야하는 하나의 이유이다. 2, 차트 상 가격이 낮은 구역에 진입하라 같은 주식, 비슷한 이익을 내고있더라도 사람들에게 주목 받고 올라가는 시기가 있는 반면, 주목은 커녕 외면 받고 주가가 계속 내려가는 경우가 있다. 이럴경우 가치투자자들은 좋타쿠나 하며 주식을 조금씩 모아간다고 한다. 하지만 얼마까지 정해 놓고 주가가 내려가는 경우는 없으므로   한번에 매수하지 말고 분할 매수 해야하는 것이다. 작년에 매도하였던 동진쎄미켐도 그러했고 올

[재테크] 7월 미국 주식 배당금 내역 및 투자 총액

이미지
  역시나 블로그에 글을 쓰는 텀이 너무 긴것 같다.    현재 주식에 많은 사람들이 관심을 가지고 있어 생각보다 한국 주식에서 수익률이 괜찮은 편이다.  (한화솔루션!! 꺄~~~)    수익 중 일부를 미국 배당주에 투자하고 있어 이를 기록하고자 한다. (컴터에 파일로만 가지고 있으니 한번씩 날려먹는 경우가..;;)    일단 전체 투자금! 7월 31일 기준으로 총 투자금은 9977.8 달러이며 종목수는 17개이다.    각 종목별 7월의 배당금 내역은 아래와 같다.  배당금은 세후 기준으며 6월 배당금 지급인 종목이라도 내 계좌에 7월에 들어왔으면 7월에 받은것으로 기록하였다. 미국 주식 투자의 목표는 매월 현금이 들어오게하여 보다 빠르게 복리의 효과를 얻고자 함이다. 아직까진 배당금이 적어 매월 한 주씩 살수는 없는 금액이지만 이번 한국의 상승장을 잘 이용해 투자금을 늘려 매달 50~60 달러는 받을수 있게 노력해봐야겠다. (리얼티 인컴이나 스벅을 사려면 한달에 80은 받아야 할텐데...)

[재테크] 2020년 한국 주식 배당금 입금 내역

이미지
  2020년 4월  메리츠증권을 시작으로 마지막 이베스트투자증권까지 모든 종목 배당금 내역을 정리해보고자 한다. 우선 배당 내역은 아래와 같다. 메리츠는 2016년 부터 200원의 현금 배당을 하고 있다. 2019년에 최대매출과 영업 이익을 냈지만 회사에 재투자를 위해 배당금은 유지를 하는게 아닌가 생각해본다. 얼마전에 발표한 20년 1분기 실적도 순익 1000 억을 기록하여 9분기 연속 1000억대 이익을 내고 있는 중이다. 2,3분기는 조금 안 좋게 실적이 나온다고 예상을 해도 배당금이 줄거나 끊기지는 않으리라 바라본다...제발... 그럼 지금 가격에 주식을 매입한다면 약 6%의 배당 이익을 얻을 수 있을텐데.. 그리고 2번째로 비중이 높은 한화솔루션 한화그룹의 캐쉬카우 역할이라고 들었는데 배당금은 그닥 높진 않다. 주당 200원의 금액이 배당되었으며 태양광 발전 사업이 잘 되어 가고 있다고는 해도 이번 전염병 여파로 인해 매출에는 영향이 불가피한 상황 일단 1분기는 컨세서스에 부합할 것이란 기사가 나왔지만 2,3분기가 문제지 뭐.. 이베스트투자증권은 대규모 유증으로 배당금이 주당 485원에서 345원으로 줄어든 상태 현재는 보유 주식은 없는 상태 전체 배당금은  1,528,850원 대략 150만원(세전) 당시 투자금이 대략 4300만원이니 배당수익율은 3.4% 정도. 배당금 만으로도 은행이율은 그냥 나오니 혹시나 주식 투자를 시작하려는 사람들중 망설이는 사람이 있다면 참고 바란다.