[t:/]$ 지식_

fastFM

2016/12/22

https://arxiv.org/pdf/1505.00641.pdf

파이썬 인터페이스를 지원하는데? libFM보다 빠르다고 그래프에 써 있다..

코어는 역시 C로 작성됐고, 이러쿵저러쿵 역시 희소행렬 연산을 얼마나 빠르게 하느냐의 문제로 귀결된 듯 하다. 나도 나만의 최적화 기법을 하나 갖고 있긴 한데.. 결국 답은 수렴되어 있을 것 같다. 고속 컴퓨팅의 수렴이라는 것은 이렇다.

  1. 캐쉬 힛팅률을 극대화
  2. 거짓 캐시 공유 회피(또는 NUMA 아키텍쳐 상의 문제 회피)
  3. 가급적이면 분기에 의한 파이프 스톨을 최소화
  4. 병렬화 최대화 등이 있겠고..
  5. CUDA는 모르니 일단 제외.

병렬화에서 동기화 구간이 발생하는 얼개라면 이 또한 문제가 되는데 이런저런 고안으로 똑똑하게 비용이 작은 동기화를 하거나, 스핀락을 사용할 수 있게 짜거나, 빅데이터 상에서 아예 데이터를 샘플링 분배하여 동기화를 하지 않는 방법, 또는 CAS나 트랜잭셔널 메모리 기법을 동원할 수 있을지도 모르겠으나 이 짝도 역시 잘 모르겠다. CAS rb-tree 논문을 보다가 1도 모르겠어서 포기했다.





공유하기













[t:/] is not "technology - root". dawnsea, rss